こんにちは私は私のループの終わりに問題があります。「stop」または「」を取得するには、入力を文字列として受け入れる必要がありますが、他の文字列入力は必要ありません。入力はfloatに変換されてからリストに追加されますが、ユーザーが「bob」と入力すると変換エラーが発生し、「stop」を受け入れることができないため、input(float)を設定できません。
現在の完全なコードは以下のとおりです。
私の現在の考え方は次のとおりです。
- 「停止」を確認してください
- 入力がフロートであるかどうかを確認します。
- 1または2でない場合は、有効な入力を求めてください。
何かアイデアはありますか?それが単純なものである場合は、その方向に私を向けるだけで、それを解約してみます。さもないと...
ありがとう
# Write a progam that accepts an unlimited number of input as integers or floating point.
# The input ends either with a blank line or the word "stop".
mylist = []
g = 0
total = 0
avg = 0
def calc():
total = sum(mylist);
avg = total / len(mylist);
print("\n");
print ("Original list input: " + str(mylist))
print ("Ascending list: " + str(sorted(mylist)))
print ("Number of items in list: " + str(len(mylist)))
print ("Total: " + str(total))
print ("Average: " + str(avg))
while g != "stop":
g = input()
g = g.strip() # Strip extra spaces from input.
g = g.lower() # Change input to lowercase to handle string exceptions.
if g == ("stop") or g == (""):
print ("You typed stop or pressed enter") # note for testing
calc() # call calculations function here
break
# isolate any other inputs below here ????? ---------------------------------------------
while g != float(input()):
print ("not a valid input")
mylist.append(float(g))