【问题标题】:What function allows to ask wether a variable is an integer inside an if statement [closed]什么函数允许在 if 语句中询问变量是否是整数 [关闭]
【发布时间】:2014-11-23 01:58:19
【问题描述】:
user_input = int(input("Please enter a multiplier!"))
if user_input == int:
    for multiplier in range (1,12,1): #this is where i'm kinda stuck
        print multiplier, " x ", user_input, " = ", multiplier * user_input
elif user_input == str:
        print "Please enter a quantitative numerical value as a multiplier, and try again, thanks!"

这就是我正在做的事情: user_input = float(input("请输入乘数!")) 对于 (1,13,1) 范围内的乘数: 打印乘数,“x”,用户输入,“=”,乘数 * 用户输入

这是输出 1 x 9.9 = 9.9 2 x 9.9 = 19.8 3 x 9.9 = 29.7 4 x 9.9 = 39.6 5 x 9.9 = 49.5 6 x 9.9 = 59.4 7 x 9.9 = 69.3 8 x 9.9 = 79.2 9 x 9.9 = 89.1 10 x 9.9 = 99.0 11 x 9.9 = 108.9 12 x 9.9 = 118.8

#Yet if the user inputs a string (a letter) how should I convert it?

【问题讨论】:

  • 嗨。请至少花时间正确格式化您问题中的代码,以便我们理解它。谢谢。
  • 如果它不是一个整数,你会得到一个ValueError。看看stackoverflow.com/q/23294658/3001761
  • user_input = int(input("请输入一个乘数!")) if user_input == int: for multiplier in range (1,12,1): print multiplier, "x", user_input, " = ", multiplier * user_input elif user_input == str: print "请输入一个量化的数值作为乘数,再试一次,谢谢!"
  • 我是新手,如何格式化?
  • 首先不要将代码放在 cmets 中。 stackoverflow.com/help/formatting

标签: python string integer


【解决方案1】:

您可以使用python builtin 模块的typeinsinstance 来执行此操作,例如,

if type(user_input) is int:
    # your code

type 返回对象的类型。或者使用insinstance

if isinstance(user_input, int):
    # your code

isinstance 返回True 如果对象是类的实例或其子类。

现在,在您的代码中,您已经在第一行投射了user_inputint。所以没有必要检查user_inputint 还是str。如果您输入数字以外的内容,程序也会引发错误。

【讨论】:

  • 请注明投反对票的原因,以便改进答案。否则没有意义。
  • 对,这很有意义!但是如果我想根据用户输入生成一个乘法时间表并想象用户输入一个字母,我希望程序打印一条错误消息,说明需要一个定量值。让我试着描绘一下,提前谢谢!!
  • 移除 int 转换。 user_input = input("Please enter a multiplier!")
  • 请原谅我的描述我是新手,我确实想过这样做但是输出不正确,因为当用户输入乘以 2(比如 3)将输出 33 而不是 6
  • 所以基本上我将输入定义为一个数值,因此程序可以生成乘法@salmanwahed
猜你喜欢
  • 2016-03-23
  • 1970-01-01
  • 2015-11-01
  • 2020-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-14
相关资源
最近更新 更多