【解決方法】この問題を Python で解決する方法

プログラミングQA


この問題を Python で解決する方法:

単語に 2 つの連続した母音 (a、e、i、o、u、y) が含まれている場合、2 番目の文字を削除してから単語を出力する必要があります。

私はこのコードを書きましたが、それが完全に正しいわけではないことはわかっていますが、意味をなさないものがあります。

必要な結果が得られますが、ネストされたループが多すぎるため、正しくないことがわかりました。

より良い、より簡単なコードを。

私が試したこと:

def Convert(string):
	word = ["","","",""]
	word[:0] = string
	return word

word1 = str(input("Enter the word: ")).lower()
word = Convert(word1)
vowels = ["a","e","i","o","u","y"]
y = []

for i in range(1,len(word)-4):
  for j in range(5,len(vowels)):
    for x in range(6):
      for v in range(6):
       if word[i] == vowels[j-x] and word[i-1] == vowels[j-v]:                                                          
          word.remove(word[i])                                    
          print("".join(word))
          y.append("".join(word))
          break

if len(y)==0:
    print(word1)

<pre lang="Python"><pre lang="Python"><pre lang="Python">

解決策 1

引用:

より良い、より簡単なコードを。

私たちは立ち往生している人々を喜んで助けますが、それは私たちがあなたのためにすべてをするためにここにいるという意味ではありません! 私たちがすべての作業を行うことはできません。あなたはこれに対して報酬を受け取っているか、またはそれはあなたの成績の一部であり、私たちがあなたのためにすべてを行うことはまったく公平ではありません.

だから私たちはあなたが仕事をする必要があり、あなたが行き詰まったときにあなたを助けます. それは、あなたが提出できる段階的な解決策を提供するという意味ではありません!
現在の状況と、プロセスの次のステップを説明することから始めます。 次に、その次のステップを機能させるために何を試みたか、またその際に何が起こったかを教えてください。

開始するのに問題がある場合は、これが役立つ場合があります。 問題を解決するためのコードの書き方、初心者向けガイド[^]

解決策 2

これはどう:

Python
vowels = 'aeiou'
word = input('Enter your word: ')
for x in range(len(word) - 1):
    if word[x] in vowels and word[x] == word[x + 1]:
        newword = word[:x] + word[x+1:]
        print(word, 'becomes:', newword)

コメント

タイトルとURLをコピーしました