raw_input 中的 Int 不起作用
Int in raw_input does not work
while True:
a = raw_input("Your number: ")
if a == int: # letters:
if a > 0 and a % 3 == 0:
print 'fizz'
if a > 0 and a % 5 == 0:
print 'buzz'
if a > 0 and a % 3 != 0 and a % 5 != 0:
print a
if a <= 0:
print 'bad value'
else:
print "Not integer, try again"`
如何使这个 raw_input
工作?我希望它在用户输入为整数时运行游戏,而在用户输入不是整数时运行 "try again"。
raw_input()
总是 returns 一个字符串。如果要将其设为 int,请调用 int()
内置函数。如果字符串的内容不能转换,会抛出一个ValueError
。如果愿意,您可以围绕它构建程序逻辑。
raw_input
是一个字符串。您可以使用 int
将其转换为 int。如果它不可转换,这 returns 一个错误。所以使用 try...except 来处理错误。尽量少放入 try... 部分是个好主意,否则可能会意外捕获一些其他错误。然后将 continue
放入 except
部分以跳回开头。
while True:
try:
a= int(raw_input("Your number: "))
except ValueError:
print "not integer, try again"
continue
if a > 0:
if a % 3 == 0:
print 'fizz'
if a % 5 == 0:
print 'buzz'
if a % 3 != 0 and a % 5 != 0:
print a
else: #a<=0
print 'bad value'
while True:
a = raw_input("Your number: ")
if a == int: # letters:
if a > 0 and a % 3 == 0:
print 'fizz'
if a > 0 and a % 5 == 0:
print 'buzz'
if a > 0 and a % 3 != 0 and a % 5 != 0:
print a
if a <= 0:
print 'bad value'
else:
print "Not integer, try again"`
如何使这个 raw_input
工作?我希望它在用户输入为整数时运行游戏,而在用户输入不是整数时运行 "try again"。
raw_input()
总是 returns 一个字符串。如果要将其设为 int,请调用 int()
内置函数。如果字符串的内容不能转换,会抛出一个ValueError
。如果愿意,您可以围绕它构建程序逻辑。
raw_input
是一个字符串。您可以使用 int
将其转换为 int。如果它不可转换,这 returns 一个错误。所以使用 try...except 来处理错误。尽量少放入 try... 部分是个好主意,否则可能会意外捕获一些其他错误。然后将 continue
放入 except
部分以跳回开头。
while True:
try:
a= int(raw_input("Your number: "))
except ValueError:
print "not integer, try again"
continue
if a > 0:
if a % 3 == 0:
print 'fizz'
if a % 5 == 0:
print 'buzz'
if a % 3 != 0 and a % 5 != 0:
print a
else: #a<=0
print 'bad value'