試圖從用戶輸入中獲取字典,將有多個字典可供參考,用戶應在詢問時輸入“A1”,并期望“得到 1”作為結果,但這給出了“字串索引必須是整數”。任何幫助表示贊賞。
A = {
"A1": "something1",
"A2": "something2",
}
B = {
"B1": "somethingelse1",
"B2": "somethingelse2",
}
user_error = input("what is your error? ").upper()
first_half = user_error[0]
print(first_half[user_error])
uj5u.com熱心網友回復:
您的帖子中有很多混亂,因此我對其進行了清理并為您創建了一個解決方案:
A = {
"A1": "something1",
"A2": "something2",
}
B = {
"B1": "somethingelse1",
"B2": "somethingelse2",
}
user_error = input("what is your error? ").upper()
dict_name = user_error[0]
selected_dict = locals()[dict_name]
print(selected_dict[user_error])
不幸的是,我沒有看到比使用更簡單的方法locals,您可能最不熟悉它。但更重要的是,為了特別了解解決方案的其余部分,我強烈建議閱讀 Python 的基礎知識,例如這里。
uj5u.com熱心網友回復:
為此需要兩個輸入。示例代碼:
A = {
"A1" : "something1",
"A2" : "something2"
}
B = {
"B1" : "somethingelse1",
"B2" : "somethingelse2"
}
which_dict = input("what is your choice? ").upper()
selected = {}
if which_dict == "A": selected = A
else: selected = B
user_error = input("what is your error? ").upper()
first_half = selected[user_error]
print(first_half)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/334489.html
上一篇:如何使用字典中的值遍歷串列
下一篇:字典串列中給定鍵的訪問值
