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

Python奇偶判断程序问题求助:输入超限后无输出

问题分析与解决

问题根源

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

  • wrong_number_choosing_1函数中,输入正确范围的数字后,直接调用number_choosing_2要求重新输入,而非对当前输入的正确数字做奇偶判断,导致该数字被忽略,无输出。
  • 多函数递归调用逻辑混乱,流程跳转没有闭环,出现输入正确后程序直接终止的情况。
  • 条件判断重复冗余,多次重复范围检查,增加了代码复杂度和出错概率。

修正后的简洁代码

print("welcome to our simple test")

def check_odd_even():
    while True:
        try:
            number = int(input("please enter a number between 0 and 100: "))
            if 0 <= number <= 100:
                if number % 2 == 0:
                    print("the number you have entered is even")
                else:
                    print("you have entered an odd number")
                break  # 完成判断后退出循环
            else:
                print("you have entered a number more than 100 or less than 0!")
        except ValueError:
            print("please enter a valid integer!")

check_odd_even()

代码说明

  • 用while True循环持续获取输入,直到输入符合要求。
  • 加入try-except捕获非整数输入的异常,避免程序崩溃。
  • 先验证输入范围,符合条件后再判断奇偶,逻辑清晰闭环。

保留原函数结构的修复方案

如果想保留多函数结构,需修正wrong_number_choosing_1的逻辑,确保正确输入后直接判断奇偶:

print("welcome to our simple test")

def judge_parity(number):
    if number % 2 == 0:
        print("the number you have entered is even ")
    else:
        print("you have entered an odd number ")

def get_valid_number():
    while True:
        try:
            number = int(input("please enter a number between 0 and 100: "))
            if 0 <= number <= 100:
                return number
            else:
                print("you have entered a number more than 100 or less than 0!")
                number = int(input("so please enter a number between 0 and 100: "))
                if 0 <= number <= 100:
                    return number
        except ValueError:
            print("please enter a valid integer!")

def main():
    num = get_valid_number()
    judge_parity(num)

main()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 19:31:21