Python for循环实现数字累加4次的代码逻辑纠错求助
为什么原有代码不符合练习要求
本次循环入门练习的要求如下:
编写程序,使用for循环实现任意数字乘以4的计算。
提示:将输入数字累加至变量共4次,例如输入3时,执行3+3+3+3得到结果12。
你提交的代码如下:
#Add the input number 4 times. Ex. 3+3+3+3 #If the input is 3, the output will be 12 num = int(input("Num: ")) for x in range(2): num += num print(num)
核心错误点
- 循环次数不匹配:题目要求完成4次累加操作,
range(2)仅会让循环执行2次,不满足基础的循环次数要求 - 累加逻辑偏离要求:代码直接在存储原始输入的
num变量上做运算,num += num的本质是将当前变量值翻倍,执行流程为初始值3 → 第一次循环3+3=6 → 第二次循环6+6=12,属于两次翻倍凑出了乘以4的结果,并非逐次累加原始输入值4次。只是因为2次翻倍的计算结果刚好和4次累加一致,才会在输入3时得到正确数值,本质是取巧的错误逻辑,完全达不到练习循环用法的目的。
符合要求的实现方式
要实现逐次累加原始输入4次的逻辑,需要单独保存用户输入的原始值,避免累加过程中修改参考基准,参考代码:
# 存储用户输入的原始数字,后续运算全程不修改该值 origin_num = int(input("Num: ")) # 初始化累加结果为0 result = 0 # 循环执行4次,每次累加原始输入值 for _ in range(4): result += origin_num print(result)
逻辑验证
以输入3为例,代码执行流程完全匹配题目要求的计算逻辑:
- 初始
result = 0 - 第一次循环:
0 + 3 = 3 - 第二次循环:
3 + 3 = 6 - 第三次循环:
6 + 3 = 9 - 第四次循环:
9 + 3 = 12
最终输出12,完全符合练习要求。
内容的提问来源于stack exchange,提问作者Yoan
相关产品推荐
相关产品推荐

