Python告诉我66 <= 17

布兰登

我是python的新手,正在尝试构建一个程序来评估潜在合作伙伴对于使用/ 2 + 7规则的人来说是否太年轻。

尽管使用的测试变量远高于18,但无论我做什么,该程序都会执行第7行。我使用88 / 77、77 / 66、19 / 19,它总是执行第7行。

num1 = float(input("What is the higher age number? "))
num2 = float(input("What is the lower age number? "))
output = num1 / 2 + 7
if num1 and num2 <= 17:
    print("You're both underage")
elif num2 <= 17:
    print("You're going to jail bud")
elif output <= num2:
    print("That's OK")
else:
    print("They are slightly too young for you")

编辑:

我做了许多人建议的修复程序,但是现在程序仍然无法按预期运行,我发现了另一个缺陷。

num1 = float(input("What is the higher age number? "))
num2 = float(input("What is the lower age number? "))
output = num1 / 2 + 7
if num1 <= 17 and num2 <= 17:
    print("You're both underage")
elif num2 <= 17:
    print("You're going to jail bud")
elif output <= num2:
    print("That's OK")
else:
    print("They are slightly too young for you")

当num1 = 19和num2 = 16时,程序在我希望输出第7行时输出第5行。当num1和num2都设置为大于17的值时,程序仍然输出第7行。

缩进

表达方式 :

if num1 and num2 <= 17:

就好像 :

if num1 == True and num2 <= 17:

num1=66num1类似于True并被num2 <= 17评估

要修复您的程序,您需要编写:

if num1 <= 17 and num2 <= 17:

来自python文档:真值测试

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章