import random
word_list = ['ardvark', 'baboon', 'camel']
word = random.choice(word_list)
riddle = len(word) * '_'
print(riddle)
while '_' in riddle:
guess = input('Guess a letter: ').lower()
for letter in word:
index = (word.index(guess))
if letter == guess:
riddle[index] = letter
print(riddle)
導致
riddle[index] = letter
TypeError: 'str' object does not support item assignment
我知道我知道,字串是不可變的,但仍然......為什么?它們是可索引的,因此如果應用適當的解決方法,這可能會以某種方式起作用。或不?
uj5u.com熱心網友回復:
制作謎語串列,然后在需要時不使用分隔符列印它
riddle = list(len(word) * '_')
print(*riddle, sep="")
uj5u.com熱心網友回復:
在 python(和其他一些語言)中,字串是不可變的。解決方法是改用串列:
import random
word_list = ['ardvark', 'baboon', 'camel']
word = random.choice(word_list)
riddle = ['_'] * len(word)
print(''.join(riddle))
while '_' in riddle:
guess = input('Guess a letter: ').lower()
for letter in word:
index = (word.index(guess))
if letter == guess:
riddle[index] = letter
print(''.join(riddle))
uj5u.com熱心網友回復:
你可以用這種方式重新定義謎語。但是,如果您猜測單詞中不包含的字母,您還應該更好地捕捉到錯誤。
import random
word_list = ['ardvark', 'baboon', 'camel']
word = random.choice(word_list)
riddle = len(word) * '_'
print(riddle)
while '_' in riddle:
guess = input('Guess a letter: ').lower()
for letter in word:
index = (word.index(guess))
if letter == guess:
riddle = riddle[:index] letter riddle[index 1:]
print(riddle)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/472104.html
上一篇:for回圈的輸出串列作為變數
下一篇:如何將SQL資料添加到變數中?
