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

2024-04-20 05:01:56 发布

您现在位置:Python中文网/ 问答频道 /正文

代码如下:

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")

这个节目根据年龄和性别推荐一部电影给你看。你知道吗

我不确定是什么错误。这是用Python3.5.1编写的,不适用于Python2.x

编辑

很抱歉,我解释得不够好,我想做的是,如果用户输入一个字符,那么就没有错误消息,但是会提示他们再试一次。你知道吗

这就是这个方块的用法,我无法理解:

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

Tags: 代码inputageif错误genderelsehow
1条回答
网友
1楼 · 发布于 2024-04-20 05:01:56

此块不必要且容易混淆:

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

当您收到age时,它总是一个字符串,因此这将总是打印“输入有效年龄”。你知道吗

您要做的是在获得输入时转换为int。您还可以删除对其他输入的str的冗余强制转换,因为它们默认为string。你知道吗

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

否则,据我所知,您的程序运行良好(尽管有“错误”消息)。你知道吗

相关问题 更多 >