【发布时间】:2019-07-21 10:11:25
【问题描述】:
我今天在CodingBat做练习,遇到一个有趣的问题:
给定一个整数数组,如果该数组在某处的某个 2 旁边包含一个 2,则返回 True。
此代码运行错误一半:
for i in range(len(nums)-1):
if nums[i] == 2 and nums[i+1] == 2:
print(True)
else:
print(False)
对于输入nums = [1, 2, 2],它给出输出:False
这段代码给出了True:
for i in range(len(nums)-1):
if nums[i] == 2 and nums[i+1] == 2:
print (True)
print (False)
我的问题是为什么引入 else 语句会改变代码的工作方式?
【问题讨论】:
-
我建议你做一些rubber duck debugging的代码。
-
当然还要确保显示的代码中的缩进是正确的(第二个sn-p中
print (False)的范围不清楚)。 -
代码试图做什么?怎么了”?什么是“正确”?预期和实际输出是多少?请在您的问题中添加这些详细信息。
-
对不起,伙计们。我刚刚编辑了问题
标签: python python-3.x if-statement