0

私は自分自身にPythonを教えていますそして私は混乱しています

#!/usr/bin/python

def Age():
        age_ = int(input("How old are you? "))


def Name():
        name_ = raw_input("What is your name? ")


def Sex():
        sex_ = raw_input("Are you a man(1) or a woman(2)? ")
        if sex_ == 1:
                man = 1

        elif sex_ == 2:
                woman = 2

        else:
                print "Please enter 1 for man or 2 for woman "

Age()
Name()
Sex()
print "Your name is " + name_ + " you are " + age_ + " years old and you are a " + sex_ + "."

エラー

ファイル"./functions2.py"、25行目、印刷物 "Your name is" + name_ + "you are" + age_ + "years and you are" + sex_+"。" NameError:名前'name_'が定義されていません

確かにそれはName()関数で定義されていますか?よくわかりません :(


ああ私は今それをもう少し新しい証拠にしてくれてありがとう、私は今Sex()関数で問題を抱えています。「男性」や「女性」という単語ではなく、印刷物に数字が返されていたので、コードを変更して修正してみました。しかし、今すぐ次のエラーが発生しますファイル

"./functions2.py", line 16
    2 = woman
SyntaxError: can't assign to literal

2をstr(2)にしようとしましたが、別のエラーが発生しました。これまでのところ、助けてくれてありがとう

#!/usr/bin/python

def Age():
    age_ = raw_input("How old are you? ")
    return age_
def Name():
    name_ = raw_input("What is your name? ")
    return name_
def Sex():
    sex_ = str(raw_input("Are you a man or a woman? "))
    if sex_ == 1:
            1 = man
            return sex_

    elif sex_ == 2:
            2 = woman
            return sex_

    else:
            print "Please enter man or woman "


age_ = Age()
name_ = Name()
sex_ = Sex()


print "Your name is " + name_ + " you are " + age_ + " years old and you are a " + sex_ + "."
4

3 に答える 3

0

ですが、_nameのスコープは関数の最後までしか拡張されませんName()Name()関数が終了すると、変数_nameはなくなります。

代わりに次のようなものを試してください。

def Name():
    name = raw_input("What is your name? ")
    return name

_name = Name()

print "Your name is " + _name

年齢や性別についても同様のことをする必要があります。

于 2012-11-04T14:55:38.127 に答える
0

誰かが同じ問題を思いついた場合の最終的な作業コード

#!/usr/bin/python

def Age():
    age_ = raw_input("How old are you? ")
    return age_
def Name():
    name_ = raw_input("What is your name? ")
    return name_
def Sex():
    sex_ = str(raw_input("Are you a man or a woman? "))
    if sex_ == "man":
            sex_ = "man"
            return sex_

    elif sex_ == "woman":
            sex_ = "woman"
            return sex_

    else:
            print "Please enter man or woman "


age_ = Age()
name_ = Name()
sex_ = Sex()


print "Your name is " + name_ + " you are " + age_ + " years old and you are a " + sex_ + "."
于 2012-11-04T19:12:19.503 に答える
0

質問に合わせて「man」「1」1などを変更しました。また、データ型を反映するように変更str(raw_input("Are you a man..."))しました。input("Are you a man...")

def Age():
    age_ = raw_input("How old are you? ")
    return age_
def Name():
    name_ = raw_input("What is your name? ")
return name_
def Sex():
    sex_ = input("Are you a man(1) or a woman(2)? ")
    if sex_ == 1:
        sex_ = "man"
        return sex_

    elif sex_ == 2:
        sex_ = "woman"
        return sex_
    else:
        print "Please enter 1 for man or 2 for woman "

age_ = Age()
name_ = Name()
sex_ = Sex()

print "Your name is " + name_ + " you are " + age_ + " years old and you are a " + sex_ + "."
于 2012-12-24T09:08:22.867 に答える