Python自定义def函数运行输出末尾出现多余元素问题咨询
问题产生原因
多出来的USA输出是代码中条件判断分支主动触发打印的,不属于异常输出:
你调用city_country函数时,传入的第二个国家参数s_country的值为'usa',命中了第二个elif分支的判断条件,该分支内明确写了print(f"{s_country.upper()}")语句,因此会在三次城市国家信息打印完成后,额外输出一行USA。
可选优化建议
- 如果不需要识别美国并单独打印国家名,直接删除整个
if-elif判断块即可解决多输出的问题 - 原有判断逻辑可简化,无需写多个或条件,统一转成小写/大写判断即可,示例:
# 优化后的判断写法 if f_country.lower() == 'usa': print(f"{f_country.upper()}") elif s_country.lower() == 'usa': print(f"{s_country.upper()}") elif t_country.lower() == 'usa': print(f"{t_country.upper()}")
内容的提问来源于stack exchange,提问作者k77
相关产品推荐
相关产品推荐

