使用字符串输入python的For循环
我试图让代码在每次遇到A时打印Alpha,在字符串中看到B时打印Bravo。但是,我不确定为什么它在读取字符串时不拾取As,而只执行Else条件。有什么建议吗?这里有一个简单的解决方案:使用字符串输入python的For循环,python,Python,我试图让代码在每次遇到A时打印Alpha,在字符串中看到B时打印Bravo。但是,我不确定为什么它在读取字符串时不拾取As,而只执行Else条件。有什么建议吗?这里有一个简单的解决方案: inputString = input() inputString += 'B' for i in range( len(inputString) ) : if i == 'A' : print('Alpha') else: print('Bravo')
inputString = input()
inputString += 'B'
for i in range( len(inputString) ) :
if i == 'A' :
print('Alpha')
else:
print('Bravo')
当您对范围内的i执行
时,…
i只是一个数字(尝试一下,在for循环中放入打印(i)
,您将看到数字)。因此,您需要使用该数字获取字符串的索引以检查字母:
inp = "ABAAAB"
for c in inp:
if c == "A":
# do something
else:
# do something else
或者,只需遍历字符串而不使用i:
inputString += 'B'
for i in range( len(inputString) ) :
if inputString[i] == 'A' :
print('Alpha')
else:
print('Bravo')
请尝试以下操作:
inputString += 'B'
for letter in inputString:
if letter == 'A' :
print('Alpha')
else:
print('Bravo')
你在一个范围内循环,这个范围给你数字。您需要循环字符串中的字符
for i in range( len(inputString) ) :
if inputString[i] == 'A' :
print('Alpha')
else:
print('Bravo')`
此外,dict比if语句更容易:
inputString = input()
for i in inputString:
if i == 'A' :
print('Alpha')
else:
print('Bravo')
您正在迭代一个
范围
,因此i
是一个数字,而不是字符串中的字符。i是一个数字,因此无论何时使用“range”(len(某物))时,都不等于“a”)在for循环中,出现了一些错误。在这种情况下,只需在inputString上进行迭代。对于inputString中的char:
非常感谢!我不知道为什么不进行比较。真不敢相信我这么笨。感谢您的回答,先生!
inputString = input()
switch = {'A': 'Alpha', 'B': 'Bravo'}
for i in inputString:
print(switch.get(i, i))