首页 > 解决方案 > 此代码不断输出与我分配的消息不同的消息

问题描述

Question = input("How much money did Kingsman make this weekend?:")
if Question > "10000000":
    print("Wow! What an opening!")
elif Question >= "5000000" <= "9000000":
    print("Hey! Not a bad start!")
elif Question < "5000000":
    print("Are you happy with this result?")

如果我说 Kingsman 赚了 4,000,000 美元,它会输出电影票房超过 1000 万美元的信息,但真正奇怪的是,当我输入 1 美元时,它会输出电影票房少于 500 万美元的信息(应该如此)和当我达到 4,000,000 美元时,它显示的输出少于 500 万美元(应该如此)。出于某种原因,相同数字的输出正在变化(在本例中为 400 万)从“哇!多么开放”到“你对这个结果是否满意”,我不明白为什么。

另外,我不确定"elif Question >= "5000000" <= "9000000":"是否正确。我想说的是,当电影的收入在 500 万到 900 万之间时,它应该显示消息“嘿!不错的开始!”

标签: python

解决方案


当您可能应该比较整数时,您正在比较字符串。

elif Question >= "5000000" <= "9000000":是不正确的。

它应该是这样的:

elif 5000000 <= int(Question) <= 9000000:


推荐阅读