gpt4 book ai didi

python - CodeHS 8.3.8 : Word Ladder? 我还需要什么

转载 作者:太空宇宙 更新时间:2023-11-04 06:40:11 25 4
gpt4 key购买 nike

这是我应该做的:

你的 friend 想尝试做一个字梯!这是一个单词列表,其中每个单词与其前面的单词有一个字母的差异。这是一个例子:

cat
cot
cog
log

编写一个程序来帮助你的 friend 。它应该执行以下操作:

  • 请您的 friend 先说一句。
  • 反复要求他们提供索引和一封信。
  • 您应该用他们输入的字母替换他们提供的索引处的字母。
  • 然后您应该打印新单词。
  • 当用户为索引输入 -1 时停止要求输入。

这是幕后应该发生的事情:

  • 您应该有一个函数 get_index,它会反复询问用户一个索引,直到他们输入一个有效整数,该整数在初始字符串的可接受索引范围内。 (如果他们输入的数字超出范围,你应该输出invalid index。)
  • 您应该有另一个函数,get_letter,它反复要求用户输入一个字母,直到他们正好输入一个小写字母。 (如果他们输入多个字符,你应该输出 Must be exactly one character!。如果他们输入大写字母,你应该输出 Character must be a lowercase letter! .)
  • 您应该将当前单词的列表版本存储在一个变量中。这是每次用户换出新字母时您应该更新的内容。
  • 每次您必须打印当前单词时,打印您保存在变量中的列表的字符串版本。

以下是您的程序运行示例:

Enter a word: cat
Enter an index (-1 to quit): 1
Enter a letter: o
cot
Enter an index (-1 to quit): 2
Enter a letter: g
cog
Enter an index (-1 to quit): 5
Invalid index
Enter an index (-1 to quit): -3
Invalid index
Enter an index (-1 to quit): 0
Enter a letter: L
Character must be a lowercase letter!
Enter a letter: l
log
Enter an index (-1 to quit): -1

这是我现在的代码:

word = input("Enter a word: ")
for i in range():
get_index = int(input("Enter an index (-1 to quit): "))
if get_index < -1:
print "Invalid index"
elif get_index > 3:
print "Invalid index"
else:
letter = input("Enter a letter: ")
word = word[:get_index] + letter + word[get_index + 1:]
print word

所以我不完全确定如何为所有大写字母制作一个 if/else 语句并且只允许一个字母。我也不确定我需要在我的 for 循环中放入什么以使其在我输入 -1 时结束。

最佳答案

Word Ladder 应继续运行并继续打印结果,直到索引为 -1。这是一个快速解决方案。


玩字梯

def get_index(word):
while True:
try:
pos = int(input("Enter an index: "))
if pos == -1:
return pos
elif pos >= len(word):
print "invalid index"
elif pos <= -1:
print "invalid index"
else:
return pos
except ValueError:
print "invalid index"

def get_letter():

while True:

char = str(input("Enter a letter: "))

if char.islower() and len(char)==1:
return char

elif not char.islower():
print "Character must be a lowercase letter!"

elif len(char) > 1:
print "Must be exactly one character!"

def word_ladder(word):

while True:
pos = get_index(word)
if pos == -1:
return
else:
char=get_letter()

word = list(word)
word[pos] = char
word = ("").join(word)
print word

word = input("Enter a word: ")

word_ladder(word)

关于python - CodeHS 8.3.8 : Word Ladder? 我还需要什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55924768/

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