gpt4 book ai didi

python - 我的 if 语句有什么问题? Python

转载 作者:行者123 更新时间:2023-12-01 03:01:38 24 4
gpt4 key购买 nike

我似乎无法弄清楚为什么我的 if 语句不起作用。我是编程新手,我正在尝试创建一个刽子手游戏来测试我的表现。我对其进行了设置,以便代码将选择一个随机单词,计算该单词的字母,放置破折号以显示每个字母的位置。此时,我尝试使用 if 语句来索引每个字母,直到完成所有字母。这是代码。

"""
python simple.py
"""

from random_words import RandomWords
rw = RandomWords()
word = rw.random_word()
print(word)

word_len = len(word)
print(("___" + " ") * word_len)
def letters(word):
if word_len >= 0:
letter1 = word[0]
else:
pass
if word_len >= 1:
letter2 = word[1]
else:
pass
if word_len >= 2:
letter3 = word[2]
else:
pass
if word_len >= 3:
letter4 = word[3]
else:
pass
if word_len >= 4:
letter5 = word[4]
else:
pass
if word_len >= 5:
letter6 = word[5]
else:
pass
if word_len >= 6:
letter7 = word[6]
else:
pass
if word_len >= 7:
letter8 = word[7]
else:

print(letters(word))

我得到的错误如下:

Traceback (most recent call last):
File "simple.py", line 46, in <module>
print(letters(word))
File "simple.py", line 30, in letters
letter5 = word[4]
IndexError: string index out of range

最佳答案

Python 是从 0 开始索引的,因此长度为 4 的单词将只有 word[0]word[3]

尝试访问word[4]会出现索引超出范围错误。

注意你的第一个条件

if word_len >= 0:
letter1 = word[0]

即使 word 的长度为零,这也会尝试访问 word[0]

关于python - 我的 if 语句有什么问题? Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43772301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com