2017-04-11 72 views
-2
an_letters = "aefhilmnorsxAEFHILMNORSX" 
word = input("I will cheer for you! enter a word:") 
times = int(input("Enthusiasm level (1-10):")) 
i = 0 
while i < len(word): 
    char = word[i] 
    if char in an_letters: 
     print("Give ma an " + char + "! " + char) 
    else: 
     print("Give ma a " + char + "! " + char) 
    i += 1 
print("What does that spell?") 
for i in range(times): 
    print(word, "!!!!") 

我很努力去理解char = word[i]做什么。 Afaik在Python中没有char类型,只有str我认为这只是一个变量,它对变量word进行索引。但我不明白i是指什么?我们不应该用数字来表示位置吗?python和字符串切片使用文字?

回答

1

我们不应该用数字来表示位置吗?

嗯... i = 0 ...这是一个数字!它并没有在这里切片。这是索引。字符串像列表一样是Iterable

尽管while循环不是Pythonic,并且i在循环中从未实际使用过。你可以重写

for char in word: 
    if char in an_letters: 
1

Char仅仅是一个变量,你给它的任何其他名称...然后char将采取子串字符包含word每次迭代的,例如,如果word="hello"word[1]="h"word[2]="e" ..

[i]是索引,在word的位置