加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python:当我有一个if语句和一个分配给3个整数的打印件时,我输入

发布时间:2020-12-20 12:22:09 所属栏目:Python 来源:网络整理
导读:对不起,如果我只是愚蠢,但我是 python的新手.当我执行此操作并键入一个大于7的数字时,它会给出5,6和7的答案,并且 7打印.它告诉我,“我希望它越过边界变成令人敬畏的”,然后“那真棒”. P.S我正在使用 Python 3 print ('What is your name?')LeName = input (
对不起,如果我只是愚蠢,但我是 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来做我认为你在尝试的事情.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读