对于一般性问题,我不知道还有什么要问的。所以我的问题是没有任何东西附加到我的“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.')
答案 0 :(得分:5)
您的问题与os
无关。 nums
是一个字符串(类型为str
)。您认为将其转换为浮点数,但是您没有将结果分配给任何变量而且它会丢失。转换后,nums
仍然是一个字符串。
float(nums)
必须为nums=float(nums)
。当Python尝试执行此赋值时,它会成功(然后再次检查nums
的类型没有意义)或失败,然后会有异常。