Python 膳食生成器错误
我已经在这个代码上工作了一段时间。它一直在说:Python 膳食生成器错误,python,python-3.x,random,syntax-error,system,Python,Python 3.x,Random,Syntax Error,System,我已经在这个代码上工作了一段时间。它一直在说: Traceback (most recent call last): File "N:\Computing\Meal Generator.py", line 30, in <module> print(DaysOfTheWeek[0+counter],": ",Meals[random_meal]," and a number of ",NumberOfSides[random_meal],".") TypeError:
Traceback (most recent call last):
File "N:\Computing\Meal Generator.py", line 30, in <module>
print(DaysOfTheWeek[0+counter],": ",Meals[random_meal]," and a number of ",NumberOfSides[random_meal],".")
TypeError: unsupported operand type(s) for +: 'int' and 'str'
谢谢你的帮助。
Tinymantwo您误解了for循环在Python中的工作方式 当您在DaysOfTheWeek中对计数器执行
操作时,计数器
依次从DaysOfTheWeek
获取每个值。这意味着第一次它将是“Mon”,然后是“Tue”,等等。因此,当您尝试将它添加到0时,它将失败并出现该错误
但你不应该把它加到任何事情上:这就是重点。相反,请执行以下操作:
for day in DaysOfTheWeek:
...
print(day, ": ", Meals[random_meal]," and a number of ",NumberOfSides[random_meal],".")
您不需要计数器=0
或计数器+=1
您使用Python就像使用Javascript程序员一样:)
请仔细阅读Python的工作原理,并给出一些提示:
- [“asdf”,“bla”]
中计数器的迭代列表的条目,而不是列表索引,因此计数器将是“asdf”
和“bla”
input
返回字符串,因此while选项!=3
帮不了你多少忙
您是否已阅读错误消息?它告诉您,计数器
是一个str
,因此0+计数器
毫无意义。您正在一个字符串列表上循环,例如,counter==“Mon”
。
for day in DaysOfTheWeek:
...
print(day, ": ", Meals[random_meal]," and a number of ",NumberOfSides[random_meal],".")