2017-11-01 4 views
0

私はPythonが初めてです。私はちょうどif文とforループを最近学んだ。練習として、Pythonコンソールでは、私はプロジェクト/割り当てを出そうとしていましたが、私が望むように動作していません。ここでは、コードは次のとおりです。辞書付きのPython if文

PrimList = {"Monday":1, "Tuesday":2, "Wednesday":3, "Thursday":4, "Friday":5} 

    appt_ = input("Choose an appt date. For Monday enter 1, for Tuesday enter 3. For Wednesday enter 4. For Thursday enter 5, For Friday enter 6") 
Choose an appt date. For Monday enter 1, for Tuesday enter 3. For Wednesday enter 4. For Thursday enter 5, For Friday enter 6>? 1 

    #as user input I entered 1, indicating Monday was the option. 

    if (appt_ == 1): 
     PrimList("Monday") 
    elif (appt_ == 2): 
     PrimList("Tuesday") 
    elif (appt_ == 3): 
     PrimList("Wednesday") 
    elif (appt_ == 4): 
     PrimList("Thursday") 
    elif (appt_ == 5): 
     PrimsList("Friday") 
    else: 
     print("That is not a valid entry.") 

私が取得することである:

Traceback (most recent call last): 
    File "<input>", line 1, in <module> 
NameError: name 'appts_' is not defined 

私は間違った辞書を使用して、apptに誤った値を設定することができます。誰も助けることができますか?

+3

を持っていないので、整数として、あなたの入力をキャストに入力するようにしてくださいする必要があり、また、あなたが見ているものです'appts_'はあなたのコードのどこにもありません。 – gommb

+0

希望の出力は何ですか? – 0TTT0

答えて

0
# I have modified your code little bit. 


    PrimList = {"Monday":1, "Tuesday":2, "Wednesday":3, "Thursday":4, "Friday":5} 


# '\n' will add new lines 

    print("Choose an appt date.\nFor Monday enter 1\nFor Tuesday enter 3\nFor Wednesday enter 4\nFor Thursday enter5\nFor Friday enter 6") 

# input reads everything as string. so you need to convert it to int other wise 
# your if comparison wont work. >> you are comparing string to int << it wont work as You 
# expected. 


    appt_ = int(input('Your Choice:')) 

    # dictionary items are accessed by [] bracket not() 

    if appt_ == 1: 
     print(PrimList["Monday"]) 
    elif appt_ == 2: 
     print(PrimList["Tuesday"]) 
    elif appt_ == 3: 
     print(PrimList["Wednesday"]) 
    elif appt_ == 4: 
     print(PrimList["Thursday"]) 
    elif appt_ == 5: 
     print(PrimsList["Friday"]) 
    else: 
     rint("That is not a valid entry.") 


**OUTPUT** 


    Choose an appt date. 
    For Monday enter 1 
    For Tuesday enter 3 
    For Wednesday enter 4 
    For Thursday enter5 
    For Friday enter 6 
    Your Choice: 1 
    1 
0

おそらくこれは、ユーザーが入力した文字列(すなわち"1"

PrimList = {1: "Monday", 2: "Tuesday", 3: "Wednesday", 4: "Thursday", 5: "Friday"} 
appt_ = int(input("Choose an appt date. For Monday enter 1, for Tuesday enter 3. For Wednesday enter 4. For Thursday enter 5, For Friday enter 6")) 

#Choose an appt date. For Monday enter 1, for Tuesday enter 3. 
#For Wednesday enter 4. For Thursday enter 5, For Friday enter 6>? 1 
#as user input I entered 1, indicating Monday was the option. 

if appt_ in PrimList: 
    print(PrimList[appt_]) 
else: 
    print("That is not a valid entry.")