Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 膳食生成器错误_Python_Python 3.x_Random_Syntax Error_System - Fatal编程技术网

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],".")