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')