
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个整数的打印件时,我输入一个更高的值,它给出了这两个,并且打印正确所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)