Python实现输入数字乘10累加超100终止并格式化输出问题
解决方案
你的代码核心逻辑没问题,但输出部分的实现完全不符合要求——循环打印单个项不仅会导致格式混乱,还会因为整数和字符串直接拼接抛出TypeError。下面是修改后的代码,直接生成你需要的格式化输出:
total = 0 formatted_terms = [] while True: n = int(input("Enter Number to calculate: ")) # 直接存储格式化后的项,同时累加总和 formatted_terms.append(f"10*{n}") total += 10 * n if total >= 100: # 用"+"连接所有项生成完整式子 equation = "+".join(formatted_terms) # 用f-string拼接最终输出 print(f"Program ends because {equation} = {total}, which is not less than 100") break
关键修改点:
- 去掉冗余的两个列表,改用
formatted_terms直接存储每个形如10*X的字符串,同时单独维护累加总和total,逻辑更清晰。 - 用
str.join()方法快速将所有项拼接成完整的运算式,避免手动循环拼接的繁琐。 - 使用f-string(Python3.6+支持)直接构建输出语句,格式直观,避免字符串拼接错误。
内容的提问来源于stack exchange,提问作者Doğa Selçuk
相关产品推荐
相关产品推荐

