Python 类型错误:';int';对象不可下标-正在尝试创建图形
我正在尝试创建一个简单的程序,在这个程序中,我输入的关于每日新冠病毒-19病例的数据将被制成表格,并创建成一个小图表。例如,我的第一个输入(主要输入)将是:7 20200401 20200403,它表示在我的主要输入之后输入的#,以及案例的起始日期。然后,我将讨论医院的输入、该医院的病例数量以及报告日期。每天的病例数用*表示。当我运行我的程序时,我遇到了一个: 回溯(最近一次呼叫最后一次): 文件“C:/Users/-/-/-/-.py”,第25行,在 打印(“{}{}}.”格式(清空集合[i],“:”,“*”*CaseNumberList[i])) TypeError:无法将序列与'str'类型的非int相乘 有没有办法修复它,让程序正确显示每天正确的病例数量 这是我的密码:Python 类型错误:';int';对象不可下标-正在尝试创建图形,python,python-3.x,graphing,Python,Python 3.x,Graphing,我正在尝试创建一个简单的程序,在这个程序中,我输入的关于每日新冠病毒-19病例的数据将被制成表格,并创建成一个小图表。例如,我的第一个输入(主要输入)将是:7 20200401 20200403,它表示在我的主要输入之后输入的#,以及案例的起始日期。然后,我将讨论医院的输入、该医院的病例数量以及报告日期。每天的病例数用*表示。当我运行我的程序时,我遇到了一个: 回溯(最近一次呼叫最后一次): 文件“C:/Users/-/-/-/-.py”,第25行,在 打印(“{}{}}.”格式(清空集合[i]
CoronaCaseNumber = input("")
CoronaList = CoronaCaseNumber.split(" ")
LuckyNumber = CoronaList[0]
Date = CoronaList[1]
Date2 = CoronaList[2]
LuckyNumero = int(LuckyNumber)
DateList = []
CaseNumberList = []
for case in range(LuckyNumero):
CoronaCaseData = input()
CoronaList2 = CoronaCaseData.split(" ")
InfoDate = CoronaList2[1]
DateList.append(InfoDate)
CaseNumber = CoronaList2[2]
CaseNumberList.append(CaseNumber)
EmptySet = []
for i in DateList:
if i >= Date and i <= Date2:
if i not in EmptySet:
EmptySet.append(i)
IntCaseNumberList = int("".join(str(i) for i in CaseNumberList))
EmptySet.sort()
for i in range(len(EmptySet)):
print("{}{}{}".format(EmptySet[i], ":", "*" * IntCaseNumberList[i]))
CASENUMBER=输入(“”)
CoronaList=CoronaCaseNumber.split(“”)
幸运数字=加冕者[0]
日期=加冕名单[1]
Date2=加冕者[2]
LuckyNumero=int(LuckyNumero)
日期列表=[]
CaseNumberList=[]
对于范围内的案例(LuckyNumero):
CoronaCaseData=输入()
CoronaList2=CoronaCaseData.split(“”)
InfoDate=CoronaList2[1]
DateList.append(InfoDate)
案例编号=CoronaList2[2]
CaseNumberList.append(CaseNumber)
清空设置=[]
对于日期列表中的i:
如果i>=Date和i这将创建一个单一整数,它是casenamberlist
中所有数字的串联,而不是整数列表:
IntCaseNumberList = int("".join(str(i) for i in CaseNumberList))
因此,当您尝试使用IntCaseNumberList[i]
时,它不起作用,因为它是一个数字,而不是一个列表
要创建整数列表,需要在列表中调用int()
:
IntCaseNumberList = [int(i) for i in CaseNumberList]
您也可以首先将整数直接放入CaseNumberList
中,这样就不需要创建新的列表。改变
CaseNumberList.append(CaseNumber)
到
你让我们猜错在哪里。请更新问题以添加完整的错误回溯消息。intCaseNumberList
是一个int
,而不是int
列表。您希望IntCaseNumberList[i]
是什么?
CaseNumberList.append(int(CaseNumber))