Python:当我有一个if语句和一个分配给3个整数的打印件时,我输入一个更高的值,它给出了这两个,并且打印正确

Python:当我有一个if语句和一个分配给3个整数的打印件时,我输入一个更高的值,它给出了这两个,并且打印正确,第1张

概述对不起,如果我只是愚蠢,但我是 python的新手.当我执行此 *** 作并键入一个大于7的数字时,它会给出5,6和7的答案,并且> 7打印.它告诉我,“我希望它越过边界变成令人敬畏的”,然后“那真棒”. P.S我正在使用 Python 3 print ('What is your name?')LeName = input ()print (' How are you, ' + LeName + ' 对不起,如果我只是愚蠢,但我是 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 ()

在发布后大约半小时我想到了它并且如果情绪=’5”6’的’7’则改变,如果情绪> =和情绪<但我仍然很好奇为什么会这样.谢谢你的答案.

解决方法 这个说法:

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

被解析为:

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

这真的只是’7’或者是真的,因为心情的类型是int而’56’的类型是str.

发生的事情是python正在将自动字符串连接应用于’5”6’以将其变为’56’.它不等于情绪,因为情绪是一个int而int和str类型永远不会相等.所以,你有False或’7′.但’7’是一个类似于true的值,因此该块将始终执行.您可能想要的更像是:

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

在哪里我用operator chaining来做我认为你在尝试的事情.

总结

以上是内存溢出为你收集整理的Python:当我有一个if语句和一个分配给3个整数的打印件时,我输入一个更高的值,它给出了这两个,并且打印正确全部内容,希望文章能够帮你解决Python:当我有一个if语句和一个分配给3个整数的打印件时,我输入一个更高的值,它给出了这两个,并且打印正确所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1194651.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

发表评论

登录后才能评论

评论列表(0条)

    保存