程序计算用户输入的总和、最小值、最大值

Program calculating sum, min, max values of user input

正如标题所说,我创建了一个程序,它会执行以下操作,直到用户按下 'X' 键。然后停止并按顺序打印出所有值。我还想提一下,我只能通过我的大学使用特定的编译器,它将程序注册为 error/wrong,即使它应该是正确的。

编辑: 添加了编译器的状态。

我的问题是,我可以使用哪些其他替代方法来编写类似的程序,或者一般的任何建议。

请求输入:

1

2

X

请求的输出:

结果:[1, 2]

平均:1.50

分钟:1.00

最大值:2.00

list1 = []
asknumber = str(0)
while asknumber != 'X':
  asknumber = input("Enter number: ")
  if asknumber == 'X':
    break
  list1.append(int(asknumber))
  big_value = max(list1)
  min_value = min(list1)
  average = sum(list1) / len(list1)
print("result:", sorted(list1))
print("average:", f'{average:.2f}')
print("min:", f'{min_value:.2f}')
print("max:", f'{big_value:.2f}')

由于计算机正在对您的作业进行评分,因此错误很可能是因为您的冒号后有空格。

有人建议使用以下方法解决该问题:

print("result:", sorted(list1), sep='')

但是,由于您已经在 print 语句中使用了 f 字符串,所以您不妨将它们全部使用。

在循环结束之前,您也不需要计算 minmaxaverage——并且由于您手动中断循环,您可以只使用 while True:.

list1 = []
asknumber = str(0)
while True:
    asknumber = input("Enter number: ")
    if asknumber == 'X':
        break
    list1.append(int(asknumber))
big_value = max(list1)
min_value = min(list1)
average = sum(list1) / len(list1)
print(f'result:{sorted(list1)}')
print(f'average:{average:.2f}')
print(f'min:{min_value:.2f}')
print(f'max:{big_value:.2f}')