【问题标题】:How to fix 'TypeError: 'str' object does not support item assignment'如何修复'TypeError:'str'对象不支持项目分配'
【发布时间】:2019-05-23 01:31:28
【问题描述】:

我正在尝试根据用户输入的数字创建许多变量,但我不知道该怎么做。我尝试过的所有操作都出现了某种类型的错误。

我想我需要为此创建一个数组,但我不知道如何使用数组。

numActivities = int(input("How many school activities did the student participate in? "))
    for x in [numActivities]:
        typeActivities[x] = input("What type of activities did the student choose? ")

TypeError: 'str' 对象不支持项目分配

【问题讨论】:

  • input改成raw_input,或者去掉int
  • 他把它标记为 python 3
  • 显示完整的回溯
  • File "/Users/nelsonlu/Downloads/Winona State University Project.py", line 19, in getdata typeActivities[x] = input("学生选择了什么类型的活动?") TypeError : 'int' 对象不支持项目分配
  • 看起来typeActivities 可能是一个整数。你的其余代码在哪里?

标签: python python-3.x


【解决方案1】:

typeActivities 是一个整数。整数是标量,不能下标。您可能希望它是一个列表。

【讨论】:

  • 我将变量 typeActivities 更改为字符串,但现在它返回不同的错误。 "TypeError: 'str' 对象不支持项目分配"
  • 字符串和整数都不支持项目分配。使其成为字典或列表
【解决方案2】:

这是你想要的代码。

  1. 您应该使用range 作为for loop。这意味着从0numActivities-1
  2. 您必须使用append 将输入数据添加到typeActivities 列表中。
    typeActivities=[]

    numActivities = int(input("How many school activities did the student participate in? "))
    for x in range(numActivities):
        typeActivities.append(input("What type of activities did the student choose? "))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-20
    • 2020-10-30
    • 1970-01-01
    • 2021-02-16
    • 2016-10-27
    • 2013-12-22
    相关资源
    最近更新 更多