2017-08-03 11 views
0

一般的な質問を申し訳ありません。だから私の問題は何も私の "num_list"に追加されないということです。多分私が作った明確な機能と関係していると思っていましたか?何も追加されないようにリストをリセットしていますか?私はそれが私が見落とした単純なものだと確信しています。本当に助けていただければ幸いです。また、一般的な質問をお詫び申し上げます。osモジュールはここで何かしていますか?入力が私のリストに追加されない

import os 


def clear(): 
    if os.name == 'nt': 
     os.system('cls') 
    else: 
     os.system('clear') 


num_list = [] 
user_nums = 0 
while True: 
    clear() 
    print('Type DONE to calculate the average of the numbers you entered!') 
    if num_list: 
     print('Here are the numbers you want to find the average of:{}'.format(num_list)) 
    try: 
     nums = input("What numbers do you want to find the average of? ") 
     if nums.upper() == 'DONE': 
      clear() 
      print('The average is: {}'.format(user_nums/len(num_list))) 
     float(nums) 
     if isinstance(nums, (float, int)): 
      num_list.append(nums) 
      user_nums += nums 

    except ValueError: 
     print('Please only enter numbers.') 

答えて

5

あなたの問題はosとは何の関係もありません。 numsは文字列(タイプstr)です。 あなたはそれを浮動小数点数に変換しますが、結果を変数に代入せずに失われます。変換後、numsはまだ文字列です。

float(nums)は、nums=float(nums)である必要があります。 Pythonがこの割り当てを実行しようとすると、成功します(そしてnumsの型を再びチェックする点がない)か、失敗し、例外があります。

関連する問題