这是我从一篇博文中得到的代码,但现在我需要弄清楚为什么它会做一些意想不到的事情,我将描述它需要什么,如果它能正常工作,它会给出什么
Input(several examples):
006644322
112222333
Output(examples in order):
008866544
887777666
例如,我打字时很难 这 221111222 相反,你可以从我的两个例子中看到,计数器工作不正常,有人能告诉我为什么要尝试和修复什么吗?我试着修修补补,但没有用 [8,7,7,7,7,7,8,7,8]
drawbarstring = input("Put your drawbar string here(9 digits): ")
drawbarmain = list(map(int, str(drawbarstring)))
def compute_nums(drawbarmain):
for i in range(len(drawbarmain)):
for x in range(len(drawbarmain)):
if drawbarmain[x] == 8:
return drawbarmain
for j in range(len(drawbarmain)):
if drawbarmain[j-1] < 8 and drawbarmain[j] != 0:
drawbarmain[j] += 1
print(compute_nums(drawbarmain))
这是我从中得到的源代码 How do you find highest value in the list then increase it with the other values increasing as well expect a value that is set as 0 我希望有人能给我一个想法,我很喜欢学习python,但到目前为止我还不知道为什么会发生这种情况,我很抱歉我在这里造成的麻烦是我修复的代码,我认为我现在应该工作所有值都正常工作 对barmar给我的想法大声呼喊,这很有效,不需要更多的帮助,现在,我似乎独自解决了这个问题,另一次编辑在答案中添加了我自己的代码,供其他人查看
这一解决方案应在以下方面发挥作用:
输出为:
我的第二个结果与你的例子不一样,但如果我理解它的作用,我认为我的答案是正确的
3
是列表中的最高数字,因此需要将其增加5倍才能达到8
,所有其他数字也需要增加5倍DEMO
这就是我带来的
它起作用了,所以我不再抱怨了 编辑未使用的已删除变量
相关问题 更多 >
编程相关推荐