0

私はコーディングの初心者で、しばらく前に Python を学び始めました。最近、私は自分のコードを書いていました。これは、英語から pyg ラテン語への翻訳プロジェクトです (単語に「ay」を追加するだけの言語です。これが私のコードです。

original = raw_input('Name any english word?')       

if len(original) > 0 and original.isalpha():     #Testing if variable has characters and not numbers
    word = original.lower()
    first = word[0]
    if first == 'a'  or first == 'e' or first == 'i' or first == 'o' or first == 'u':
        new_word = word + pyg                    #Word translated to pyg latin
        print new_word
    else:
        new_word = word[1:] + word[0] + pyg
        print new_word
else:
    print "empty"                                #No word active

問題は、3 行目に EOF エラーが発生し続けることですか? 何が問題で、EOF エラーとは何ですか?

4

1 に答える 1

0

コードにはインデントの修正以上のものが必要ですが、ご容赦ください。これは、OSx と PC で動作します。

original = raw_input('Name any english word?\n')
PYG = 'ay'
VOWELS = 'aeiou'
if len(original) > 0 and original.isalpha():     #Testing if variable has characters and not numbers
  word = original.lower()
  first = word[0]
  if first in VOWELS:
    new_word = ''.join([word, PYG])                    #Word translated to pyg latin
    print new_word
  else:
    new_word = ''.join([word[1:], word[0], PYG])
    print new_word
else:
  print 'Empty'

inandを使用すると''.join()、より簡単でより Pythonic になります。'\n'入力クエリの前に改行を生成するだけです。

あなたの奇妙なエラーについては... あなたの Mac は、コードのさまざまな問題の 1 つに対して何かを吐き出していたと思います。EOF は「ファイルの終わり」を意味します。raw_inputエラーをスローする可能性がありますが、行った呼び出しはどれも正常に生成されません。または、Mac に付属している古いバージョンの python を意図せずに使用しており、それらの呼び出しの一部を同じように処理できないことが原因である可能性があります。

とにかく、重要ではありません。コードは今すぐ動作するはずです。

于 2013-03-26T07:27:37.473 に答える