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

如何在Python中识别重复整数?新手代码调试求助

问题修正方案

你的代码存在几个关键问题:

  • 变量名不统一:初始化的是yourn,但循环判断用的是yorn,会触发未定义错误
  • 逻辑顺序错误:先把数字添加进列表再判断重复,导致重复元素已经被存入
  • 语法与冗余问题:for rep in list缺少冒号,且无需遍历整个列表,直接用in关键字就能判断元素是否存在
  • 拼写错误:lista是笔误,应该对应你的列表变量list

下面是修正后的完整代码:

num_list = []  # 避免用list作为变量名,这是Python内置类型
yorn = 'y'  # 初始设为'y',确保循环能正常启动

while yorn != 'n':
    # 先获取输入并转为整数,同时处理非整数输入的情况
    try:
        num = int(input('Insert a number: '))
    except ValueError:
        print('请输入有效的整数!')
        yorn = input('Continue? [Y/N]: ').strip().lower()[0]
        continue
    
    # 判断数字是否重复,仅当不重复时才添加到列表
    if num in num_list:
        print('Denied, already on list')
    else:
        num_list.append(num)
    
    # 获取用户是否继续的输入
    yorn = input('Continue? [Y/N]: ').strip().lower()[0]

print('END!')
print(f'The numbers are: {sorted(num_list)} ', end=' → ')

核心修正说明:

  • 更换列表变量名为num_list,避免覆盖Python内置的list类型
  • 调整逻辑顺序:先获取输入、判断重复,再决定是否添加元素
  • 加入try-except块处理非整数输入,提升程序健壮性
  • 统一变量名,修复循环初始值问题,确保循环能正常启动

内容的提问来源于stack exchange,提问作者Camponez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 19:05:19