所以我有代码:
intex = input("Enter in a letter of text\n")
if intex == 'a' or 'b' or 'c' or 'd' or 'e' or 'f' or 'g' or 'h' or 'j' or 'k' or 'l' or 'm' or 'n' or 'o' or 'p' or 'q' or 'r':
counter += intex
print(counter)
Run Code Online (Sandbox Code Playgroud)
顺便说一句,所有的字母都被定义了,我只是觉得没有必要把它们放进去(a = 1,b = 2等),但每当我运行代码时,它都会给我错误 TypeError: unsupported operand type(s) for +=: 'int' and 'str'
我知道这个错误意味着什么,我不能给一个数字添加一个字母,但有没有办法在没有错误的情况下这样做?我试过float(),但这给了我另一个错误!请帮忙!
该or运营商不工作,你的思考方式.如果表达式具有trucy 真值,则表达式a or b返回.你可能意味着ab
if intex in "abcdefghijklmnopqr":
...
Run Code Online (Sandbox Code Playgroud)
要将字母转换为a映射到1等的整数,您可以使用ord():
counter += ord(intex) - ord("a") + 1
Run Code Online (Sandbox Code Playgroud)