鱼C论坛

 找回密码
 立即注册
查看: 1749|回复: 4

[已解决]“int“迭代

[复制链接]
发表于 2020-11-13 22:07:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
list1=[1,2,3,4]
list2=[98,67,89,80]
list3=[100,90,83,62]
list4=[90,98,100,82]
num=eval(input("请输入您的学号:"))
while num == (list1[0]):
    print("该学生成绩为语文",list2[0],",数学",list3[0],",英语",list4[0],",总分",sum(list2[0]+list3[0]+list4[0]))
    break
while num == (list1[1]):
    print("该学生成绩为语文",list2[1],",数学",list3[1],",英语",list4[1],",总分",sum(list2[1]+list3[1]+list4[1]))
    break
while num == (list1[2]):
    print("该学生成绩为语文",list2[2],",数学",list3[2],",英语",list4[2],",总分",sum(list2[2]+list3[2]+list4[2]))
    break
while num == (list1[3]):
    print("该学生成绩为语文",list2[3],",数学",list3[3],",英语",list4[3],",总分",sum(list2[3]+list3[3]+list4[3]))
    break
else:
    print()

哪里出现了问题???
运行结果是这样的:
请输入您的学号:1
Traceback (most recent call last):
  File "C:\Users\86198\AppData\Local\Programs\Python\Python37\p23.py", line 7, in <module>
    print("该学生成绩为语文",list2[0],",数学",list3[0],",英语",list4[0],",总分",sum(list2[0]+list3[0]+list4[0]))
TypeError: 'int' object is not iterable
>>>

最佳答案
2020-11-13 22:13:50
本帖最后由 jackz007 于 2020-11-13 22:18 编辑
  1. list1=[1,2,3,4]
  2. list2=[98,67,89,80]
  3. list3=[100,90,83,62]
  4. list4=[90,98,100,82]
  5. num=eval(input("请输入您的学号:"))
  6. if num == list1[0]:
  7.     print("该学生成绩为语文",list2[0],",数学",list3[0],",英语",list4[0],",总分",sum((list2[0] , list3[0] , list4[0])))
  8. elif num == list1[1]:
  9.     print("该学生成绩为语文",list2[1],",数学",list3[1],",英语",list4[1],",总分",sum((list2[1] , list3[1] , list4[1])))
  10. elif num == list1[2]:
  11.     print("该学生成绩为语文",list2[2],",数学",list3[2],",英语",list4[2],",总分",sum((list2[2] , list3[2] , list4[2])))
  12. elif num == list1[3]:
  13.     print("该学生成绩为语文",list2[3],",数学",list3[3],",英语",list4[3],",总分",sum((list2[3] , list3[3] , list4[3])))
  14. else:
  15.     print()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-13 22:13:50 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2020-11-13 22:18 编辑
  1. list1=[1,2,3,4]
  2. list2=[98,67,89,80]
  3. list3=[100,90,83,62]
  4. list4=[90,98,100,82]
  5. num=eval(input("请输入您的学号:"))
  6. if num == list1[0]:
  7.     print("该学生成绩为语文",list2[0],",数学",list3[0],",英语",list4[0],",总分",sum((list2[0] , list3[0] , list4[0])))
  8. elif num == list1[1]:
  9.     print("该学生成绩为语文",list2[1],",数学",list3[1],",英语",list4[1],",总分",sum((list2[1] , list3[1] , list4[1])))
  10. elif num == list1[2]:
  11.     print("该学生成绩为语文",list2[2],",数学",list3[2],",英语",list4[2],",总分",sum((list2[2] , list3[2] , list4[2])))
  12. elif num == list1[3]:
  13.     print("该学生成绩为语文",list2[3],",数学",list3[3],",英语",list4[3],",总分",sum((list2[3] , list3[3] , list4[3])))
  14. else:
  15.     print()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-11-13 22:24:24 | 显示全部楼层

想问一下为什么加了括号就不会出现错误了?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-13 22:29:27 | 显示全部楼层
本帖最后由 jackz007 于 2020-11-13 22:31 编辑
嗨姐 发表于 2020-11-13 22:24
想问一下为什么加了括号就不会出现错误了?


     不仅加了括号,而且,还把加号换成了逗号,这样写,sum() 的输入参数就是一个由三个元素组成的元组。

     其实,如果按你的写法,直接用三个元素的和就可以了,没有必须再把这个和作为输入参数调用 sum() 函数。也就是说,直接把 sum() 去掉就可以了。

     就像这样:
  1.     print("该学生成绩为语文",list2[0],",数学",list3[0],",英语",list4[0],",总分",list2[0]+list3[0]+list4[0])
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-11-13 22:35:34 | 显示全部楼层
谢谢!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-14 02:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表