gpt4 book ai didi

Python:当我有一个 if 语句和一个分配给 3 个整数的打印时,我输入一个更高的整数,它同时给出了那个和正确的打印

转载 作者:太空宇宙 更新时间:2023-11-03 12:28:29 25 4
gpt4 key购买 nike

对不起,如果我只是愚蠢,但我是 python 的新手。当我执行此命令并键入大于 7 的数字时,它会给出 5、6 和 7 的答案,并打印 > 7。它告诉我,“我希望它越过边界变得很棒”,然后“那太棒了”。P.S 我正在使用 Python 3

print ('What is your name?')
LeName = input ()
print (' How are you, ' + LeName + '?')
print ('On a scale of one to ten, what would you rate your day so far?')
mood = int (input())
if mood <4:
print ('That\'s horrible, I hope it gets better.')
if mood == '5' '6' or '7':
print('Hope it crosses the border into awesome! :)')
if mood > 7:
print('That\'s awesome!')
print ()

发布后大约 1/2 小时,我考虑了一下,将 if mood == '5' '6' of '7' 更改为 if mood >= and mood < 8。但我仍然很好奇为什么会这样正在发生。感谢您的回答。

最佳答案

这个声明:

if mood == '5' '6' or '7':

被解析为:

if (mood == '56') or '7':

这实际上只是 if '7'if True 因为 moodtypeint'56' 的类型是 str

发生的事情是 python 将自动字符串连接应用于 '5' '6' 以将其转换为 '56'。它不等于 mood 因为 moodintintstr 类型永远不要比较平等。所以,您有 if False or '7'。但是 '7' 是一个类似 true 的值,因此该 block 将始终执行。您可能想要的更像是:

if mood < 4:
...
elif 5 <= mood <= 7:
...
else:
...

我用过的地方operator chaining做我认为你正在尝试的事情。

关于Python:当我有一个 if 语句和一个分配给 3 个整数的打印时,我输入一个更高的整数,它同时给出了那个和正确的打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16096924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com