gpt4 book ai didi

处理范围检查和列表的 Python 3 float 错误

转载 作者:行者123 更新时间:2023-11-28 18:08:28 24 4
gpt4 key购买 nike

我正在上我的第一门 Python 类(class)。对于我们的作业,我们应该收集 6 个等级,检查它们是否在 0-100 的范围内,如果它们找到平均值,如果不是则给出错误消息。然后我们应该询问他们的总成绩并做同样的事情。因此,我实际上已经为第二部分复制了一部分代码(正在运行),但现在我遇到了类型调用错误,我不知道为什么。你们能帮我弄清楚我哪里出错了,并指出正确的方向吗?这是我的代码:

six_grade_list = []
print("Please enter six grades using a comma to separate them to get your average.")
six_grade_list = [float(i) for i in input().split(',')]
for float in six_grade_list:
if 0<= float <= 100:
print("Your average is ", sum(six_grade_list)/len(six_grade_list))
break
else:
print("One of the grades you entered is not between 0 and 100.")
break
total_grade_list = []
print("This time please enter all of your grades using a comma to separate them to get your average.")
total_grade_list = [float(i) for i in input().split(',')]
for float in total_grade_list:
if 0<= float <= 100:
print("Your average is ", sum(total_grade_list)/len(total_grade_list))
break
else:
print("One of the grades you entered is not between 0 and 100.")
break

我得到的错误:

Traceback (most recent call last):
File "C:/Users/jesse/PycharmProjects/untitled/CYBR-260-40A/Week2AlternativeAssignment.py", line 13, in <module>
total_grade_list = [float(i) for i in input().split(',')]
File "C:/Users/jesse/PycharmProjects/untitled/CYBR-260-40A/Week2AlternativeAssignment.py", line 13, in <listcomp>
total_grade_list = [float(i) for i in input().split(',')]
TypeError: 'float' object is not callable

提前致谢。

最佳答案

您在 for 循环中使用 float 变量覆盖了 float 函数。将 float 变量重命名为其他名称,您的代码就可以工作了:

print("Please enter six grades using a comma to separate them to get your average.")
six_grade_list = [float(i) for i in input().split(',')]
for grade in six_grade_list:
if 0<= grade <= 100:
print("Your average is ", sum(six_grade_list)/len(six_grade_list))
break
else:
print("One of the grades you entered is not between 0 and 100.")
break
print("This time please enter all of your grades using a comma to separate them to get your average.")
total_grade_list = [float(i) for i in input().split(',')]
for grade in total_grade_list:
if 0<= grade <= 100:
print("Your average is ", sum(total_grade_list)/len(total_grade_list))
break
else:
print("One of the grades you entered is not between 0 and 100.")
break

关于处理范围检查和列表的 Python 3 float 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52214908/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com