入力したキル数の平均を求める関数型プログラムです。
23行目のrecordsとnumの間に空白を空けているのはなぜでしょうか?
python3
1def get_kill_count(): 2 while True: 3 try: 4 return int(input("キル数は: ")) 5 except ValueError: 6 print("整数値を入力してください") 7 8 9def ask_quit(): 10 while True: 11 str = input("終了しますか? Yes/No: ") 12 if str == "Yes" or "yes": 13 return True 14 if str == "No" or "no": 15 return False 16 print("Yes/Noを選択して入力してください") 17 18 19def calc_average(records,num): 20 return (sum(records) + num) / (len(records) + 1) 21 22def show_average(records,num): 23 print("平均キル数:{}".format(calc_average(records, num))) #なぜ空白? 24 print("注意、記録は保持されません") 25 26 27kill_records=[1,2,5,6] 28while True: 29 show_average(kill_records, get_kill_count()) 30 if ask_quit(): 31 break
この前ある方からいただいたコードですので、もし不快だったら言ってください。
追記1
すみません、該当の個所が違いました。
12行目と14行目の条件式でorを使うと、意図しない挙動を起こします。(YesでもNoでも、終了してしまう)
なぜか、わかりますか?
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/16 13:41