Python使用for循环逐次修改变量实现数字缩进打印的问题求助
问题原因
你的代码存在3个核心错误:
- 变量更新语句无效:
spacenum + 1、num +1仅做了计算没有赋值给原变量,spacenum和num的值始终为0,不会随循环递增 - 类型拼接错误:空格是字符串类型,num是整数类型,二者不能直接用
+拼接,会触发类型报错 - 计数逻辑偏差:循环从0开始的话,初始数值应该从1开始,和输出的数字对应
修正后可运行代码
usernumber = int(input("Enter Number Here >>> ")) space = " " for num in range(1, usernumber + 1): # 空格数 = 当前数字减1,直接计算不需要额外维护spacenum变量 print(space * (num -1) + str(num))
运行效果
输入5时输出如下(你示例里的重复3属于输入笔误,按规则输出的结果如下,完全符合你给定的「空格数等于数字数值减1」的要求):
Enter Number Here >>> 5 1 2 3 4 5
如果你确实需要输出重复的3,只需要在循环里增加对应判断逻辑即可。
内容的提问来源于stack exchange,提问作者Robert McNeil
相关产品推荐
相关产品推荐

