Python - input()不等于预期的

时间:2016-01-09 11:56:00

标签: python

我正在使用python。这就是我想要做的事情:

要求用户使用以下代码选择学生所关注的课程: CS为GCSE计算机科学 ICT用于GCSE ICT 在屏幕上显示学生详细信息: 如果用户输入CS用于课程,则应将其显示为“GCSE计算机科学”,如果他们输入ICT,则应显示“GCSE ICT”。如果输入任何其他数据,则应显示错误消息。 要求用户确认信息是否正确。 如果任何信息不正确,请让用户重新输入,然后再次显示学生详细信息。 返回欢迎信息。

print("Contact Details")
def rep():
    global course
    course = input("Enter CS or ICT")

rep()
if course == "cs":
    print("You have selected GCSE Computer Science")
    correct=input("Is this correct?")
    if course == "yes":
        print("Contact Details")
    else:
        rep()
if course ==  ICT:
    print("You have selected GCSE ICT")
    correct=input("Is this correct?")
    if correct == yes:
    print("Contact Details")
    else:
        rep()

else:
    print("ERROR!!!")
    rep()

我的错误是:

 RESTART: C:\Users\Azad\Documents\Homework\Computer Science\Practise Task         1.py 
Contact Details
Enter CS or ICTCS
ERROR!!!
Enter CS or ICT

2 个答案:

答案 0 :(得分:1)

似乎你错误地分配给course变量。你需要说明的是global。我想你想要这个,对吧?

global course


def rep():
    global course
    course = input("Enter CS or ICT. Enter EXIT to quit... ")

while True:
    print("Welcome message here...")
    rep()

    if course == "EXIT":
        break

    elif course == "CS":
        print("You have selected GCSE Computer Science")

        while True:
            correct=input("Is this correct? ")
            if correct == "yes":
                print("CS Contact Details")
                break

            elif correct == "no":
                break

            else:
                print("Please, type yes or no")

    elif course == "ICT":
        print("You have selected GCSE ICT")

        while True:
            correct=input("Is this correct? ")
            if correct == "yes":
                print("ICT Contact Details")
                break

            elif correct == "no":
                break

            else:
                print("Please, type yes or no")

    else:
        print("ERROR. Please, select CS or ICT")

答案 1 :(得分:1)

您应该在'"以及代码中的其他'cs'周围放置单引号('ict')或双引号(string),如& #39;是&#39 ;.您还可以使用.lower确保您的代码在人们输入CSYes之类的内容时起作用:

if course.lower() == 'cs':
    print("You have selected GCSE Computer Science")

顺便提一下,请在您在SO中发帖时写下错误。