You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用for循环与if语句时,年龄大于12的票价出现重复打印问题排查

问题分析与解决

你的代码里多余的for循环是导致重复打印的核心原因:

  • input()返回的是字符串类型,比如输入13时,age的值是"13"
  • 当你写for ages in age时,会遍历这个字符串的每个字符,也就是循环2次(分别对应字符"1"和"3")
  • 每次循环里你又把整个age转成整数13,所以每次都会触发ages>12的条件,自然会重复打印两次票价

修正后的代码

直接删掉多余的for循环,同时用elif/else优化逻辑(避免冗余判断):

age = input("Enter your age to get ticket prices: ")
ages = int(age)
if ages < 3:
    print("Your ticket is free!")
elif 3 <= ages <= 12:
    print("Your ticket is $10")
else:
    print("Your ticket is $15")

这样无论输入什么年龄,都会只执行一次判断逻辑,只打印一次对应票价。

内容的提问来源于stack exchange,提问作者Rylan-Ferrer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 06:12:03