正如標題所說,我創建了一個程式,該程式執行以下操作,直到用戶按下“X”鍵。然后停止并按順序列印出所有值。我還想提一下,我只能通過我的大學使用特定的編譯器,即使它應該是正確的,它也會將程式注冊為錯誤/錯誤。
編輯:添加了編譯器的狀態。

我的問題是,我可以使用哪些其他替代方法來撰寫類似的程式,或者一般性的任何建議。
請求的輸入:
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}')
uj5u.com熱心網友回復:
由于計算機正在為您的作品評分,因此錯誤很可能是因為您的冒號后面有空格。有人建議使用print("result:", sorted(list1), sep='')來解決該問題,但是由于您已經在列印陳述句中使用了 f 字串,因此您不妨將它們用于所有這些。
您也不需要在回圈結束之前計算最小值、最大值和平均值,并且由于您手動中斷了回圈,因此您只需使用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}')
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/365133.html
上一篇:Pythonunittest是否會在每次呼叫中重置setUp函式?
下一篇:使用正則運算式,Python
