我输入了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时
请给我解决方案。
答案 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.")