我试图解决python书中的一个问题,即必须将字符串转换为电话号码。例如:a、b、c=2d、e、f=3etc。发射型计算机断层扫描仪。你知道吗
这是我到目前为止想出的,但它只打印2,我已经摆弄了一段时间,但它仍然只返回2。为什么?你知道吗
def thingie_thing (x) :
for char in x:
number = 0
if char == 'a' or 'b' or 'c':
number += 2
elif char == 'd' or 'e' or 'f':
number += 3
elif char == 'g' or 'h' or 'i':
number += 4
elif char == 'j' or 'k' or 'l':
number += 5
elif char == 'm' or 'n' or 'o' or 'p':
number += 6
elif char == 'q' or 'r' or 's':
number += 7
elif char == 't' or 'u' or 'v':
number += 8
elif char == 'w' or 'x' or 'y' or 'z':
number += 9
print number
如果你写
if char == 'a' or 'b' or 'c'
,意思是:因为“b”和“c”是非零字符,所以它们总是真的。你知道吗
你得看看
char=='a' or char=='b' or char=='c'
。只有这样你才能知道真相!你知道吗因为您使用的是'a'或'b'或'c',所以第一个语句的计算结果总是true,因为它意味着char=='a'或'b'或'c'。这里'b'和'c'的计算结果是true,因此它只加上+2
或者
相关问题 更多 >
编程相关推荐