Python重复输出字符串时添加换行符报错如何解决?
问题解决说明
错误原因
- 语法错误:你之前的写法将
\n放在了引号、括号外侧,Python无法识别该游离字符,直接触发意外字符报错 - 逻辑错误:部分写法将
name、str(howLong)等变量写在引号内部,会被当成普通文本输出,无法读取变量存储的实际值 - 运算优先级错误:需要先拼接完成单条完整的输出字符串(包含末尾换行符),再执行乘法重复操作
正确实现代码
name = input("What is your name: ") age = int(input("what is your age: ")) # 若作业要求固定使用2021作为基准年份,可直接替换下行代码为 howLong = (100 - age) + 2021 from datetime import datetime howLong = (100 - age) + datetime.now().year times = int(input("Pick a number: ")) # 核心修正:先拼接带换行的单条内容,再重复 output_per_line = f"{name} will be 100 years old in: {howLong}\n" print(times * output_per_line)
实现思路
- 输入处理:将用户输入的年龄、重复次数两个字符串类型值,直接转换为整数类型方便后续计算
- 年份计算:用当前年份加上「100减去当前年龄」的差值,就能得到用户满100岁的年份
- 字符串拼接:把姓名、目标年份、换行符
\n拼接为单条完整的输出内容,保证每次重复输出后自动换行 - 重复输出:Python支持「整数 * 字符串」的语法,会直接返回重复对应次数的新字符串,直接打印即可满足需求
内容的提问来源于stack exchange,提问作者wrongNameonly
相关产品推荐
相关产品推荐

