-3

アンケートを作成するプログラムを作成しようとしていますが、最終的にはユーザーの入力情報を返します。これが私のコードです:

. 明確なアンケート:

>>.   Loop = 0
>>
>>    While loop != 1:

>>      Print "A: name"

>>      Print "B: age"

>>      Print "B: Favorite color".

>>      Zen = raw_input("choose a, b, or c") #my problem line

>>      If zen == "a" or "A":

>>        A = raw_input("Input your name: ")

>>.     Elif zen == "b" or "B":

>>.       B = raw_input:("Input your age: ")

>>.     Elif zen == "C" or "c":

>>        C = raw_input("Input your favorite color")

>>      Else:

>>        Print A, B, C

>>        Break

最後のビットはもう少し洗練されていますが、基本的にはそれが私の機能です。ヘルプ?if と elif の後に return を挿入しようとしましたが、プログラムが動かなくなった (入力できなかった) ので、それらを取り出しました。

4

1 に答える 1

7

コードに多数の構文エラーがあります。

  • 、、、、、、またはその他のpython キーワードを大文字にすることはできませんdef。すべて小文字にする必要があります。whileprintifelifelsebreak

  • 変数名の大文字と小文字を一致させる必要があります。Zenzenは 2 つの異なる変数です。

  • 次のように、関数名の後に括弧を付ける必要があります。def questionaiire():

  • この行のピリオドは構文エラーです。それを除く。

    print "B: Favorite color".
    
  • この行に続くコロンraw_inputは構文エラーです。それを除く。

    B = raw_input:("Input your age: ")
    
  • >>各行の先頭にある s が何であるかはわかりませんが、実際のソース コードの一部ではないと思います。そうである場合は、行頭の のすべての出現を削除します>

  • この行は、あなたが思っていることをしません:

    if zen == "a" or "A":
    

    次のように解釈されます。

    if (zen == "a") or "A":
    

    "A"は と評価されるため、常に trueTrueです。代わりに次のように書きます。

    if zen.lower() == "a":
    

これが実際の例です。比較しやすいように、コードの変更はできるだけ少なくしました。

def questionaiire():
    a = b = c = ""
    while True:
        print "a: name"
        print "b: age"
        print "c: favorite color"
        zen = raw_input("choose a, b, or c: ")
        if zen.lower() == "a":
            a = raw_input("input your name: ")
        elif zen.lower() == "b":
            b = raw_input("input your age: ")
        elif zen.lower() == "c":
            c = raw_input("input your favorite color: ")
        else:
            print a, b, c
            break

変数を使用したことがないloopので、削除しました。を使用breakしているため、このコード例では実際には必要ありません。

この短いコードを書く際にあなたが犯した間違いの数と多様性は、これ以上 Python をプログラミングしたり、このサイトでさらに Python 関連の質問をしたりする前に、少なくともPython チュートリアルの最初の数章を読んだ方が本当に有益であることを示しています。

于 2012-08-06T08:21:57.783 に答える