如何以正确的顺序获取这些Python语句?

时间:2016-05-16 16:11:57

标签: python python-3.x

这是代码:

http:mysite/site/controler/action

此程序根据年龄和性别推荐电影供您观看。

我不确定错误是什么。这是用Python 3.5.1编写的,不适用于Python 2.x。

修改

抱歉,我没有解释得很清楚,我想要做的是,如果用户输入一个字符,那么没有错误信息,但会提示他们再试一次。

这是使用这个块,我无法解决这个问题:

age = input("How Old Are You?")
gender = str(input("What is your gender (Please no caps)"))

if isinstance(age,int):
    age = int(age)
else:
    print("Enter a valid age")

age = int(age)

if gender == "male":
    if age < 30:
        print("Watch Captain America")
    elif age > 30:
        print("Watch Johnny English")
    else:
        print("Watch Iron Man")
elif gender == "female":
    if age < 30:
        print("Watch Frozen")
    elif age > 30:
        print("Watch Cinderella")
    else:
        print("Watch Fox and the Hound")
else:
    print("Enter a Valid Gender")

1 个答案:

答案 0 :(得分:1)

这个街区是不必要的,令人困惑:

if isinstance(age,int):
    age = int(age)
else:
    print("Enter a valid age")

当您收到age时,总是将成为字符串,因此始终打印“输入有效年龄”。

您想要做的是在获得输入时转换为int。您还可以将其他输入上的冗余强制转换删除到str,因为它们默认为字符串。

age = int(input("How Old Are You?"))
gender = input("What is your gender (Please no caps)")

否则,我可以告诉您的程序正常工作(尽管有“错误”消息)。