小蟒蛇儿 发表于 2020-9-6 15:26:15

为什么会重复询问

有家电影院根据观众的年龄收取不同的票价:不到3岁的观众免费;3~12岁的观众为10美元;超过12岁的观众为15美元。请编写一个循环,在其中询问用户的年龄,并指出其票价。
active = input('your age:')
while True:
        age = int(input('your age:'))
        if active == 'quit':
                break
        elif age < 3:
                print('free')
        elif age < 12:
                print('10 dollars')
        else:
                print('15 dollars')
为什么需要输入第二次才会出价格

1q23w31 发表于 2020-9-6 15:32:24

active = input('your age:')
if active == 'quit':
    pass
else:
    while True:
      age = int(active)

      if age < 3:
                print('free')
      elif age < 12:
                print('10 dollars')
      else:
                print('15 dollars')

小蟒蛇儿 发表于 2020-9-6 15:39:26

1q23w31 发表于 2020-9-6 15:32


试了下无限循环了

小蟒蛇儿 发表于 2020-9-6 15:41:18

1q23w31 发表于 2020-9-6 15:32


massage = 'your age:'
while True:
        shuru = input(massage)
        if shuru == 'quit':
                break
        elif int(shuru) < 3:
                print('free')
        elif int(shuru) < 12:
                print('10 dollars')
        else:
                print('15 dollars')
我自己改了下这个可以了,但是不知道为什么,前后有什么区别吗

1q23w31 发表于 2020-9-6 15:43:05

小蟒蛇儿 发表于 2020-9-6 15:41
massage = 'your age:'
while True:
        shuru = input(massage)


刚才少打了一句代码
active = input('your age:')
if active == 'quit':
    pass
else:
    while True:
      age = int(active)

      if age < 3:
                print('free')
      elif age < 12:
                print('10 dollars')
      else:
                print('15 dollars')
      break

1q23w31 发表于 2020-9-6 15:44:23

小蟒蛇儿 发表于 2020-9-6 15:41
massage = 'your age:'
while True:
        shuru = input(massage)


active = input('your age:')
while True:
      age = int(input('your age:'))
      if active == 'quit':
                break
      elif age < 3:
                print('free')
      elif age < 12:
                print('10 dollars')
      else:
                print('15 dollars')
源代码的第一行和第三行重复询问用户了,所以要输入两次
页: [1]
查看完整版本: 为什么会重复询问