os模块在这里做点什么吗?输入未附加到我的列表中

时间:2017-08-03 18:22:02

标签: python python-3.x

对于一般性问题,我不知道还有什么要问的。所以我的问题是没有任何东西附加到我的“num_list”。我想也许它与我制作的清晰功能有关?是否可能重置我的列表,以便不会附加任何内容?我确信这只是我忽略的简单事情。非常感谢一些帮助,我再次为一般性问题道歉。

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.')

1 个答案:

答案 0 :(得分:5)

您的问题与os无关。 nums是一个字符串(类型为str)。您认为将其转换为浮点数,但是您没有将结果分配给任何变量而且它会丢失。转换后,nums仍然是一个字符串。

float(nums)必须为nums=float(nums)。当Python尝试执行此赋值时,它会成功(然后再次检查nums的类型没有意义)或失败,然后会有异常。