Python 为什么我需要使用';而';这个问题的函数是什么?

Python 为什么我需要使用';而';这个问题的函数是什么?,python,python-3.x,Python,Python 3.x,在Python3中,我们目前正在学习如何使用'while'函数。下面的问题是在“while”函数一章中向我们提出的,因此我假设我需要使用“while”函数来解决这个问题。但是,我觉得我可以使用“if”语句而不是“while”语句来解决问题。谁能告诉我我错了吗 电影院根据不同的年龄收取不同的票价。如果一个人年龄在3岁以下,票价是免费的;如果一个人年龄在3到12岁之间,票价是10美元;如果一个人年龄在12岁以上,票价是15美元。写一个循环,询问用户的年龄,然后告诉他们电影票的价格 我的代码: age

在Python3中,我们目前正在学习如何使用'while'函数。下面的问题是在“while”函数一章中向我们提出的,因此我假设我需要使用“while”函数来解决这个问题。但是,我觉得我可以使用“if”语句而不是“while”语句来解决问题。谁能告诉我我错了吗

电影院根据不同的年龄收取不同的票价。如果一个人年龄在3岁以下,票价是免费的;如果一个人年龄在3到12岁之间,票价是10美元;如果一个人年龄在12岁以上,票价是15美元。写一个循环,询问用户的年龄,然后告诉他们电影票的价格

我的代码:

age = input("How old are you? ")
age = int(age)
if age < 3:
     print("Your ticket is free.")
elif age > 3 and age < 12:
     print("Your ticket is $10")
elif age > 12:
     print("Your ticket is $15")
age=input(“你多大了?”)
年龄=int(年龄)
如果年龄<3岁:
打印(“您的票是免费的。”)
elif年龄>3岁且年龄<12岁:
打印(“您的票是10美元”)
elif年龄>12岁:
打印(“您的票是15美元”)
这能解决问题吗?谢谢

写一个循环,询问用户的年龄,然后告诉他们电影票的价格

您必须向多个用户询问他们在循环中的年龄

写一个循环,询问用户的年龄,然后告诉他们电影票的价格

您必须询问多个
用户他们在循环中的年龄

,这是询问多个用户。使用:

age = None
while age is not "done": #or while True: for infinitely asking
    #insert your code
这将持续询问年龄,直到输入了
“done”
,,根据,这是询问多个用户。使用:

age = None
while age is not "done": #or while True: for infinitely asking
    #insert your code

这将持续询问年龄,直到输入
“done”

本练习中的While语句不是针对“age”变量,而是针对“ask”过程。

本练习中的While语句不是针对“age”变量,而是针对“ask”过程。

如前所述,您的程序应该循环以允许许多用户获得票价。但是,要确保你不会陷入无限循环中,所以你需要考虑一种逃避循环的方法。我建议用户可以输入类似“Q”的内容来退出。。。。但是,您必须考虑: 大写或小写。。。将用户输入设置为小写(仅限)进行比较可以解决这个问题,因此输入“Q”将允许使用break语句退出循环

接下来,您还应该考虑用户可以输入“十”,例如,为了阻止浮点()“炸毁”并吐出一个异常,使用一个尝试/将处理这个。

它本质上是“尝试执行此代码,如果它没有爆炸,请继续”,并且在使用if语句时与“else”类似

我希望这解释了循环的必要性,但也解释了编写此类程序时的其他注意事项,以及如何处理它们

while True:
    age = input("\nHow old are you? (Q to quit)")
    if age.lower() == "q":
        break
    try:
        age = int(age)
        if age <= 3:
             print("Your ticket is free.")
        elif age > 3 and age <= 12:
             print("Your ticket is $10")
        elif age > 12:
             print("Your ticket is $15")
    except:
        print("Invalid entry")
print("\nGoodbye")
为True时:
年龄=输入(“\n您几岁?(Q退出)”)
如果age.lower()=“q”:
打破
尝试:
年龄=int(年龄)
如果3岁和12岁:
打印(“您的票是15美元”)
除:
打印(“无效条目”)
打印(“\n再见”)

正如前面指出的,您的程序应该循环以允许许多用户获得票价。但是,要确保你不会陷入无限循环中,所以你需要考虑一种逃避循环的方法。我建议用户可以输入类似“Q”的内容来退出。。。。但是,您必须考虑: 大写或小写。。。将用户输入设置为小写(仅限)进行比较可以解决这个问题,因此输入“Q”将允许使用break语句退出循环

接下来,您还应该考虑用户可以输入“十”,例如,为了阻止浮点()“炸毁”并吐出一个异常,使用一个尝试/将处理这个。

它本质上是“尝试执行此代码,如果它没有爆炸,请继续”,并且在使用if语句时与“else”类似

我希望这解释了循环的必要性,但也解释了编写此类程序时的其他注意事项,以及如何处理它们

while True:
    age = input("\nHow old are you? (Q to quit)")
    if age.lower() == "q":
        break
    try:
        age = int(age)
        if age <= 3:
             print("Your ticket is free.")
        elif age > 3 and age <= 12:
             print("Your ticket is $10")
        elif age > 12:
             print("Your ticket is $15")
    except:
        print("Invalid entry")
print("\nGoodbye")
为True时:
年龄=输入(“\n您几岁?(Q退出)”)
如果age.lower()=“q”:
打破
尝试:
年龄=int(年龄)
如果3岁和12岁:
打印(“您的票是15美元”)
除:
打印(“无效条目”)
打印(“\n再见”)

您的代码只询问一次。请注意,任务是询问用户,复数形式。使用while循环询问多个用户的年龄,或者再次询问他们是否输入了无效的输入。它字面意思是“写一个循环”,这就是为什么。顺便说一句,如果某人正好是3岁或正好是12岁怎么办?您不需要在这里解释。阅读-这是
while
的另一个应用程序,以避免像
I am Eurty nine
这样的笑话输入,因为
int()
转换无法处理输入并引发异常,因此当前会使您的程序崩溃。阅读此处的例外情况:或从问题
提问链接中的答案中我提供的。您的代码只要求一次。请注意,任务是询问用户,复数形式。使用while循环询问多个用户的年龄,或者再次询问他们是否输入了无效的输入。它字面意思是“写一个循环”,这就是为什么。顺便说一句,如果某人正好是3岁或正好是12岁怎么办?您不需要在这里解释。阅读-这是
while
的另一个应用程序,以避免像
I am Eurty nine
这样的笑话输入,因为
int()
转换无法处理输入并引发异常,因此当前会使您的程序崩溃。阅读此处的例外情况:或从问题
提问链接中的答案中我提供。
age=input(“\n你多大了?(Q退出)”)。lower()
也可以工作,在这个特殊的例子中,你可以不用
试试:除了:
使用
if age.strip()。ìsdigit():
。。。但是您的解决方案更高级,更高级。谢谢Patrick