试图将非常低级的Python用于简单的脚本的尝试是徒劳的

试图将非常低级的Python用于简单的脚本的尝试是徒劳的,python,if-statement,Python,If Statement,我似乎无法理解为什么这段代码没有运行,我对Python和整个编程都是新手。它返回的错误是一个错误的语法,任何帮助将不胜感激 这是我的密码: heightDescription=[短、中等、高、非常高] 高度=0 如果在八个中,您忘记了if语句后面的冒号: heightDescription=[短、中等、高、非常高] 高度=0 if-in-ight确保所有if条件都有一个冒号:结尾 如果abcdef: 这里有一些非常接近您的尝试。除了@Unisigned Arduino的答案之外,我还修复了您的程

我似乎无法理解为什么这段代码没有运行,我对Python和整个编程都是新手。它返回的错误是一个错误的语法,任何帮助将不胜感激

这是我的密码:

heightDescription=[短、中等、高、非常高] 高度=0
如果在八个中,您忘记了if语句后面的冒号:

heightDescription=[短、中等、高、非常高] 高度=0 if-in-ight确保所有if条件都有一个冒号:结尾

如果abcdef:
这里有一些非常接近您的尝试。

除了@Unisigned Arduino的答案之外,我还修复了您的程序。你的范围是重叠的,所以有时候你会得到两个描述

所以我修正了范围,下面是完整的代码:

heightDescription=[短、中等、高、非常高] 高度=1000
if-in-ight因此,您得到的语法错误来自if条件语句中逻辑语句后缺少冒号

此外,您的逻辑需要工作,因为您最终会得到一些值的多个打印输出

下面是一个逻辑上更合理的代码公式:

heightDescription = ["short", "average", "tall", "very tall"]

height = 0

if int(height) >= 187:
    print(heightDescription[-1])

elif int(height) in range(175, 187):
    print(heightDescription[2])

elif int(height) in range(161, 175):
    print(heightDescription[1])

elif int(height) in range(1, 161):
    print(heightDescription[0])
else: 
    print('no height')

仔细看看你的第一个if,并将其与其他if进行比较。它有什么不同?查看错误消息引用的行。这有帮助吗?如果后缺少冒号,这是您的错误。下次,复制粘贴您的实际错误消息。fwiw,你也不需要将高度转换为整数,它已经是整数了,但是b没有将范围用于它的预期目的。查看if/elif和if 176<高度<187@Chris是的,线路是8号,我不确定是什么问题。不用担心。你在这里发表了第一篇文章,至少有一个人为你的代表感到高兴。欢迎加入。但是,是的,看看Python条件语句中提供了什么。这不会给当前答案添加任何新内容。@10Rep第一个答案和这个答案之间相差<20秒。所以说现在的答案并不新鲜,这很不公平,不是吗?@JLPeyret哦,我没注意到。我猜你的答案确实列出了一个链接。你完全改变了所有的范围!我怀疑重叠范围的唯一问题是OP的第一个不等式是错误的。OP的数字显然是以厘米为单位的人类身高,因此您选择的值很有趣…@alaniwi如果您查看原始代码,您可以看到,首先是188,然后是188-198,然后是198-208,等等。这在编程上对我来说似乎很正常:谢谢您做了这个把戏,也教会了我很多东西需要学习,您是否推荐任何资源?@phatboydave如果您想了解python If语句,请再次感谢任何提示?这仍然留下了一个问题,即除了else之外,187和175值不在任何条件的范围内,可能是因为OP误解了范围的确切含义,没有意识到距离上限还有一个距离。我反对10 Rep完全改变他/她的答案中的范围,但是为了纠正这个问题,稍微调整一下范围是合理的。此外,Range1174可能是Range1161-尽管碰巧您使用elif会处理这个问题。您是正确的。我没有更改OP中的值,但它们需要更改为不包含间隙