2024-10-04 03:17:17 发布
网友
所以我需要在python中创建一个函数,要求用户输入数字,完成后输入end。之后,我需要计算输入的数字之和,不包括最大值。(即如果用户输入20、50和100,则总和为70)
所以我有一个循环输入,直到用户输入单词end:
def excludeMax(): while True: result = input('Enter next number or end:') if (result == 'end'): break
这看起来像你要找的。在
def excludeMax(): numbers = [] while True: result = input('Enter next number or end:') if (result == 'end'): break else: numbers.append(result) # notice this is after the loop numbers.remove(max(numbers)) return sum(numbers)
只需对其进行排序,然后添加一个切片:
def exclude_max(): return sum(sorted(map(int, iter(lambda: input('Enter next number or end: '), 'end')))[:-1])
结果:
将所有数字输入放入一个列表中。如果看到结尾,请从while循环中断。退出while循环后,从列表中删除max元素(例如,lst.remove(max(list)))。最后,通过sum(lst)得到总和。在
while
lst.remove(max(list))
sum(lst)
这看起来像你要找的。在
只需对其进行排序,然后添加一个切片:
结果:
^{pr2}$将所有数字输入放入一个列表中。如果看到结尾,请从
while
循环中断。退出while循环后,从列表中删除max元素(例如,lst.remove(max(list))
)。最后,通过sum(lst)
得到总和。在相关问题 更多 >
编程相关推荐