这里是Python初学者。我已经有了这个问题的解决方案,但我不明白为什么解决方案中的"add“变量在创建异常以删除6到9之间的数字时起作用。我已经尝试过Python,但仍然不理解。事先非常感谢!
问题:返回数组中数字的和,除了忽略以6开头并延伸到下一个9的数字部分(每6个后面至少有一个9)。如果没有数字,返回0。
示例解决方案代码
def summer_69(arr):
total = 0
add = True
for num in arr:
while add:
if num != 6:
total += num
break
else:
add = False
while not add:
if num != 9:
break
else:
add = True
break
return total样本答案:
summer_69([1, 3, 5]) --> 9
summer_69([4, 5, 6, 7, 8, 9]) --> 9
summer_69([2, 1, 6, 9, 11]) --> 14发布于 2020-08-31 05:17:27
您可以将变量"add“视为标志。在这种情况下,我认为这可能是这个变量的更好的名称。
它只用于判断是否在数组中的数字序列中遇到了6,然后一旦设置了,就会在数组中遍历任意数量的数字,直到得到9,然后重新设置标志。
将变量"add“重命名为”标志“可能会有所帮助。让您的新变量“标志”默认为False,然后如果遇到6设置为true的“标志”。一旦标志打开,不要在序列中添加任何尾随数字,直到您运行到数字9,然后重置为false。
也许这将有助于提高可读性。命名变量是编程中最困难的部分。
https://stackoverflow.com/questions/63665075
复制相似问题