如何找到列表中的最高值,然后随着其他值的增加而增加,并期望值设置为0



我正在尝试制作一个python程序,该程序读取一个列表,然后逐个提升所有值,直到它们达到特定值。在这种情况下,8是我想要达到的值,我的目标是提升一个由0到8不等的9个值组成的列表,但不提升0字段中的任何值,我对编程有点陌生,还没有找到解决方案。我几天前开始学习python,想制作我的第一个程序,这就是我迄今为止的

drawbarstring = input("Put your drawbar string here(9 digits): ")
drawbarmain = list(map(int, str(drawbarstring)))

我不知道下一步该怎么做——对此有任何建议——这个程序的目标是,当我键入一个9值字符串时,检查所有值,并将其提高到8处的一个峰值,但不要提高任何零,因为它们在正在使用的用例中不算在内,之所以对所有其他器官进行评分,是因为我的脚本旨在帮助我为牵引器官拉杆制作补丁,通过键入一个值来最大限度地提高音量,而不是让脚本将所有拉杆都提高到8的峰值,而不是给我结果,这样我就可以将其应用于器官中,希望这足够的信息,可以帮助我和其他可能有问题的人例如输入和输出代码,该值可以像这样327645222或004544220。在第二种情况下,我们会跳过0的值,但在第一种情况下我们会找到最高值并将其全部提升,直到值中的最高值达到8,然后其他值将被提升相同的次数,例如,如果是4次提升,直到最高值到达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
else:
break

print(compute_nums(drawbarmain))

我使用了一个函数,因为通过使用";返回";如果一个数字达到8。

此外,在第三个for循环中,我使用了[j-1],因为这是我之前更改的数字,我们知道j不可能是8,因为第二个for循环确保现有数字都不是8。

最新更新