Python编程中的条件代码

时间:2016-07-31 08:33:33

标签: python

我输入了Microsoft Visual Studio

answer = input("What Is Your Age ? ")   
if answer >= "18" :  
        print("You Have The Right To Cast Vote In India.")  
else :
        print("You Have No Right To Cast Vote In India.")

当用户输入大于等于18的数字时,它会显示,"您有权在印度投票。"当用户输入大于9且小于18的数字时,它显示,"你没有权利在印度投票。"到目前为止,它正常工作,但是当用户输入的数字小于10时,它正在显示,"你有权在印度投票。"
           但我希望它应该表明,"你没有权利在印度投票。"当用户输入小于10且小于18时 请给我解决方案。

2 个答案:

答案 0 :(得分:0)

您正在比较字符串,而不是整数。 比较字符串时,比较是词典:

print('101' > '18')
>> False

您应该将answer转换为int,然后比较为整数:

answer = int(input("What Is Your Age ? "))
if answer >= 18 :  
        print("You Have The Right To Cast Vote In India.")  
else :
        print("You Have No Right To Cast Vote In India.")

如果输入不是您必须考虑的有效数字,则会引发ValueError

答案 1 :(得分:0)

您正在尝试将字符串answer与字符串"18"进行比较,就好像它们都是数字一样。这不起作用 - Python试图根据字母顺序而不是数字顺序来比较它们。

要实现您想要的效果,请使用answer函数将int转换为整数,并使用引号中的18使其成为整数:

answer = input("What Is Your Age ? ")   
if int(answer) >= 18 :  
        print("You Have The Right To Cast Vote In India.")  
else :
        print("You Have No Right To Cast Vote In India.")