gpt4 book ai didi

python - 如何检查重复的元音

转载 作者:行者123 更新时间:2023-11-28 20:33:17 24 4
gpt4 key购买 nike

我是 python 的新手,我遇到了问题if then else 语句,我只得到“没有重复的元音”,这意味着我的 rep_vowel 仍然返回 0

所以程序规则如下。

如果没有元音出现在其旁边(例如 hello),则打印:

no vowel repeats

如果一个元音按顺序重复至少一次(例如 committee),则打印一条消息指示哪个元音重复:

only vowel e repeats

如果不止一个元音重复(例如 green door)则打印:

more than one vowel repeats

忽略大写 - 小写差异:假设所有输入总是小写

answer = input("Enter a string: ")
rep_vowel = 0
i = 0
length_Answer = len(answer)
next_string = 1
curChar = answer[0+rep_vowel]

for i in range(0,length_Answer):
if answer[0 + i] in ["a","e","i","o","u"]:
i =+ 1
next_string = answer[0+i+i]

if next_string == answer:
rep_vowel =+ 1

if rep_vowel == 0:
print("no repeating vowles")
elif rep_vowel > 1:
print("more than 1 repeating vowels")
else:
print ("the letter "+ str(curChar) +" repeats")

最佳答案

你有一些错误,所以我会尝试解决其中的几个错误:

  1. 你做了很多 [0 + something] 索引,这是没用的,因为 0 + something 总是等于 something,所以你应该用 [something]

  2. 做索引
  3. i 的值更改为 i += 1 是不好的,因为您已经在循环中增加了它

  4. 要找到匹配项,您只需将当前字母与下一个字母进行匹配即可,如果两者相同且都是元音字母,则您已找到匹配项。

  5. 您正在初始化不必要的变量,例如 i = 0,只是为了在下一行中覆盖它们

将所有这些加在一起:

answer = input("Enter a string: ")
vowels = "aeiou"
repeats = [] # this list will hold all repeats of vowels

for i in range(len(answer) - 1): # i'll explain the -1 part at the end
if answer[i] in vowels and answer[i] == answer[i + 1]:
repeats.append(answer[i])

if len(repeats) == 0:
print("no repeating vowles")
elif len(repeats) > 1:
print("more than 1 repeating vowels")
else:
print("the letter " + repeats[0] + " repeats")

这仍然没有考虑所有可能的输入,但它应该让您开始使用最终解决方案(或者这可能就足够了)。例如,输入 teest 将给出正确的结果,但输入 teeest 则不会(取决于您对正确的定义)。

关于 len(answer-1) 范围,那只是为了确保我们在执行 answer[i + 1] 时不会越界,所以我们停在倒数第二个字母上。

关于python - 如何检查重复的元音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50894960/

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