Cumtb_fff 2021-07-17 20:00 采纳率: 80%
浏览 42
已采纳

为什么会出现float不支持/?

n = int(input("请输入科目数量:"))
numbers = []
credits = []
weight = []
numbers = input('请输入一组成绩(以空格隔开,按回车结束):').split(' ')
credits = input('请输入分数对应科目的学分(以空格隔开,按回车结束):').split(' ')
c = 0
float(c)

for credit in credits:
    credit = float(credit)
    c = c+credit
    break

i = int(0)

while i<n:
    numbers[i]=credits[i]/c
    break

b=0

for a in range(n):
    b=b+float(numbers[a])

print(b)

这是一个求加权平均分的程序。
错误提示:

Traceback (most recent call last):
  File "F:\pythonProject\main.py", line 18, in <module>
    numbers[i]=credits[i]/c
TypeError: unsupported operand type(s) for /: 'str' and 'float'

  • 写回答

2条回答 默认 最新

  • 桔子code 2021-07-17 20:05
    关注

    第18行numbers[i]=credits[i]/c credits[i]是str类型,但是c是float类型,所以提示str不能和float相除。应该在11行后面将转换后的credit存储在一个列表比如叫做credit_list中,用credit_list替代18行的credits

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已采纳回答 7月17日
  • 修改了问题 7月17日
  • 修改了问题 7月17日
  • 修改了问题 7月17日
  • 展开全部

悬赏问题

  • ¥30 关于#java#的问题,请各位专家解答!
  • ¥30 vue+element根据数据循环生成多个table,如何实现最后一列 平均分合并
  • ¥20 pcf8563时钟芯片不启振
  • ¥20 pip2.40更新pip2.43时报错
  • ¥15 换yum源但仍然用不了httpd
  • ¥50 C# 使用DEVMOD设置打印机首选项
  • ¥15 麒麟V10 arm安装gdal
  • ¥20 OPENVPN连接问题
  • ¥15 flask实现搜索框访问数据库
  • ¥15 mrk3399刷完安卓11后投屏调试只能显示一个设备