首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python字典访问以typeerror结束

Python字典访问以typeerror结束
EN

Stack Overflow用户
提问于 2021-01-15 04:38:57
回答 2查看 40关注 0票数 0

我正在尝试更改字典的特定部分,使用Python3.9和VS Code终端,但在更改部分,

代码语言:javascript
运行
复制
 elif choice=='2':
                    part_name = input('Which part are you willing to change?\n(CaSe SeNsEtIvE)\nname--age--score--ID? ')
                    if part_name in list_keys:
                        new_value = input("New value? ")
                    else:
                        print('part not found!')
                        ending()
                    listname[final[part_name]] = new_value
                    ending()

当我试图访问字典中的值时,它返回一个错误TypeError: string indices must be integers。有什么问题吗?请注意,strip_name.delspace是我的一个删除字符串中空格的模块。

代码语言:javascript
运行
复制
import os, msvcrt, strip_name
list_keys, listname = ['name', 'age', 'score', 'ID'], {'AsgharAkbari':{'name':"Asghar Akbari",'age': 28,'score': 86,'ID':23897},'amirrezavavsari':{'name':"amirreza vavsari",'age':15,'score': 94,'ID':53614}}
   

 def delete():
        os.system('cls')
        print("which student are you willing to delete? (print back to go back)")
      
            del_name = input("enter fullname(CaSe SeNsEtIvE): ")
       
            final = strip_name.delspace(del_name)
            if final in listname.keys():
                choice = input('1- Delete fully\n2-change a part')
                if choice=='1':
                    del listname[final]
                    ending()
                elif choice=='2':
                    part_name = input('Which part are you willing to change?\n(CaSe SeNsEtIvE)\nname--age--score--ID? ')
                    if part_name in list_keys:
                        new_value = input("New value? ")
                    else:
                        print('part not found!')
                        ending()
                    listname[final[part_name]] = new_value
EN

Stack Overflow用户

发布于 2021-01-15 04:50:40

part_name被识别为字符串,因为在Python3中,input不检查数据类型。解决方案是将数据从输入转换为整数:

代码语言:javascript
运行
复制
part_name = int(input('foo'))
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65726555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档