Python代码输入原色后print函数无输出,求排查原因(在线环境)
问题分析与解决
你的代码有三个核心问题导致无输出:
- 变量定义和输入内容完全不匹配:你把
red赋值成了字符串'1',但实际输入的是颜色名称(比如red),导致输入的字符串和判断条件里的值对不上 - 判断条件用了整数
1、2,但即便你输入数字,你的变量存的是字符串类型的'1'、'2',整数和字符串永远不会相等 - 根本没针对用户输入的颜色名称(比如
red、blue)做判断逻辑
修正后的代码示例:
# 直接用颜色名称作为判断基准,不用绕数字 prime_1 = input('Enter your first primary color: ').strip().lower() prime_2 = input('Enter your second primary color: ').strip().lower() # 考虑两种输入顺序(比如先red后blue,或者先blue后red) if (prime_1 == 'red' and prime_2 == 'blue') or (prime_1 == 'blue' and prime_2 == 'red'): print("Your secondary color is purple!") # 可以继续补充其他颜色组合的判断 elif (prime_1 == 'red' and prime_2 == 'yellow') or (prime_1 == 'yellow' and prime_2 == 'red'): print("Your secondary color is orange!") elif (prime_1 == 'blue' and prime_2 == 'yellow') or (prime_1 == 'yellow' and prime_2 == 'blue'): print("Your secondary color is green!") else: print("Please enter valid primary colors (red, blue, yellow)!")
修改说明:
- 用
.strip().lower()处理输入,避免大小写或空格导致的匹配失败 - 同时判断两种输入顺序,符合用户实际操作习惯
- 补充了其他原色组合的逻辑和错误提示
内容的提问来源于stack exchange,提问作者Richard McArdle
相关产品推荐
相关产品推荐

