Python 在我的 if 语句中将两位数字识别为单独的数字?
Python recognize two digit numbers as seperate numbers in my if statement?
当我 运行 我的代码在这里 (1,10) 之间的数字是没有问题的。但是当我写例如 12 时,它 return 小,中而不是它应该 return 大。看来我的陈述不能将两位数识别为一个整体。如何解决这个问题?
这是我的代码:
answer = input("What's your number?")
print(answer)
for z in answer:
if int(z) < 2:
print('SMALL')
elif int(z) < 10:
print('MEDIUM')
else:
print('LARGE')
第一个答案是一个字符串,当你把它放在一个循环中时,你首先得到“1”,然后是“2”。替换循环以获得正确答案
answer = input("What's your number?")
if int(answer) < 2:
print('SMALL')
elif int(answer) < 10:
print('MEDIUM')
else:
print('LARGE')
在我看来,您的循环是原因。如果你输入 12 那么 answer="12"。所以当你在回答中说 for z 时,你实际上是在这样做:
for z in answer:
print(z)
这将导致:
'1'
'2'
因此,要解决此问题,您应该摆脱循环:
answer = input("What's your number?")
print(answer)
z = int(answer)
if z < 2:
print('SMALL')
elif z < 10:
print('MEDIUM')
else:
print('LARGE')
当我 运行 我的代码在这里 (1,10) 之间的数字是没有问题的。但是当我写例如 12 时,它 return 小,中而不是它应该 return 大。看来我的陈述不能将两位数识别为一个整体。如何解决这个问题?
这是我的代码:
answer = input("What's your number?")
print(answer)
for z in answer:
if int(z) < 2:
print('SMALL')
elif int(z) < 10:
print('MEDIUM')
else:
print('LARGE')
第一个答案是一个字符串,当你把它放在一个循环中时,你首先得到“1”,然后是“2”。替换循环以获得正确答案
answer = input("What's your number?")
if int(answer) < 2:
print('SMALL')
elif int(answer) < 10:
print('MEDIUM')
else:
print('LARGE')
在我看来,您的循环是原因。如果你输入 12 那么 answer="12"。所以当你在回答中说 for z 时,你实际上是在这样做:
for z in answer:
print(z)
这将导致:
'1'
'2'
因此,要解决此问题,您应该摆脱循环:
answer = input("What's your number?")
print(answer)
z = int(answer)
if z < 2:
print('SMALL')
elif z < 10:
print('MEDIUM')
else:
print('LARGE')