如何在while循环中拆分用户输入数字的各位并转为整数累加
实现任意长度数字字符串的各位累加操作
需求背景
- 输入为任意长度的数字字符串,例如
'1234' - 需要拆分每一位字符,转为整数后完成各位数值累加
现有代码
usrInput = input("Type a number you want to some: ") len = len(usrInput) n = 0 i = 1 while i<=len: index = int(usrInput[n]) #1 n+=1 i+=1
修改方法
你只需要在循环外提前定义一个累加结果变量,每次循环拿到单数字时把值加到这个变量上即可,以下是基于你原有逻辑最小改动后的完整代码:
usrInput = input("Type a number you want to sum: ") # 注意不要用len作为变量名,len是Python内置函数,自定义同名变量会覆盖原有功能 input_len = len(usrInput) n = 0 i = 1 sum_result = 0 # 定义累加结果初始值为0 while i<=input_len: index = int(usrInput[n]) sum_result += index # 把当前位的数值加到累加结果中 n+=1 i+=1 print(sum_result) # 循环结束后打印最终累加结果
额外优化提示
- 你现有代码的循环同时用了
n和i两个计数变量,逻辑上可以简化为只用一个,上面的修改没有调整你原有代码结构,是改动最小的实现方案
内容的提问来源于stack exchange,提问作者Märuf
相关产品推荐
相关产品推荐

