【发布时间】:2021-04-19 22:03:58
【问题描述】:
我正在尝试使用 Python 3.9 和 VS Code 终端更改字典的特定部分,但在更改部分中,
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 是我的一个模块,用于删除字符串中的空格。
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
【问题讨论】:
标签: python python-3.x dictionary typeerror