分解项目
但是,如果结果与第一个if语句不匹配,则移到下一个。在整个if语句之前,通过以下方法创建一个名为search的变量:
search = tuple(str(results))
现在我需要得到结果,并搜索每个字符,看看这些字符是否也出现在字典(ans)中。但是,它并不是在字典中搜索元组字符串。
全码
translate_results = {
1: "A", 2: "B", 3: "C", 4: "D", 5: "E", 6: "F", 7: "G", 8: "H",
9: "I", 10: "J", 20: "T", 0: 0, "1": "A", "2": "B", "3": "C", "4": "D",
"5": "E", "6": "F", "7": "G", "8": "H", "9": "I", "0": "0",
}
ans = translate_results
user = input('Enter a number: ')
user2 = input('Enter another number: ')
results = int(user) + int(user2)
search = tuple(str(results))
if results in ans:
print(f"{user} + {user2} = {results}")
print(f"{ans[user]} + {ans[user2]} = {ans[results]}")
elif search in ans:
print(f"{user} + {user2} = {results}")
print(f"{ans[user]} + {ans[user2]} = {ans[search]}")
print(search)
else:
print(f" Answer is {results}")
print(f"However, elif statment failed. Tuple list created: {search}")
示例1
因此,如果用户输入1 ( user )和3 (user2),则输出为
1 + 2 = 3
A + B = C
根据第一份if声明。
第2部分If语句
当它从字典(ans)中的search (变量)中找到单独的字符串时,就应该激活这个字符串。而不是将这些字符与字典中的字符匹配,然后显示字典值。
示例2(如果成功)
因此,用户输入1(用户)和29 (user2)输出将在匹配变量搜索到ans之后:
1 + 29 = 30
A + BI = C0
发布于 2021-03-05 05:55:03
像这样吗?
translate_results = {
1: "A", 2: "B", 3: "C", 4: "D", 5: "E", 6: "F", 7: "G", 8: "H",
9: "I", 10: "J", 20: "T", 0: 0, "1": "A", "2": "B", "3": "C", "4": "D",
"5": "E", "6": "F", "7": "G", "8": "H", "9": "I", "0": "0",
}
ans = translate_results
user = input('Enter a number: ')
user2 = input('Enter another number: ')
results = int(user) + int(user2)
search = tuple(str(results))
if results in ans:
print(f"{user} + {user2} = {results}")
print(f"{ans[user]} + {ans[user2]} = {ans[results]}")
elif set(search).issubset(set(ans.keys())):
txt1= '' #for each create a string where the program appends the translated values
for i in user:
txt1+=str(ans[i])
txt2= ''
for i in user2:
txt2+=str(ans[i])
txtres= ''
for i in search:
txtres+=str(ans[i])
print(f"{user} + {user2} = {results}")
print(f"{txt1} + {txt2} = {txtres}")
print(search)
else:
print(f" Answer is {results}")
print(f"However, elif statment failed. Tuple list created: {search}")
投入:
10, 15
产出:
10 + 15 = 25
A0 + AE = BE
('2', '5')
此外,如果可以帮助的话,还可以检查translate()函数。
https://stackoverflow.com/questions/66488101
复制相似问题