Python TypeError

Bil*_*ljk 0 python types

所以我有代码:

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(),但这给了我另一个错误!请帮忙!

Sve*_*ach 7

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)

  • @SolomonWise:你真的尝试过*代码吗?您是否按照`ord()`文档的链接? (3认同)