使用字符串输入python的For循环

使用字符串输入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')

我试图让代码在每次遇到A时打印Alpha,在字符串中看到B时打印Bravo。但是,我不确定为什么它在读取字符串时不拾取As,而只执行Else条件。有什么建议吗?

这里有一个简单的解决方案:

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))