获得用户输入的一个整数N,输出N中所出现不同的数字的和。

PYTHON*例如,输入123123123,其中所出现的不同数字为:1、2、3,这几个数字和为6。

N=input("")
J=set(N)
J=list(J)
n=0
for i in J:
n=eval(i)+n
print(n)

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 首先,我们需要将整数n拆分成各个位上的数字,然后统计不同数字的和。 具体步骤如下: 1. 将整数n转换成字符串类型,方便进行字符串操作。 2. 遍历字符串n中的每个字符,将其转换成数字类型,并存储到一个集合中。 3. 遍历集合中的每个数字,将它们相加得到不同数字的和。 代码实现如下: ``` n = int(input("请输入一个整数:")) n_str = str(n) # 将整数n转换成字符串类型 num_set = set() # 创建一个集合,用于存储不同数字 # 遍历字符串n中的每个字符,将其转换成数字类型,并存储到集合中 for ch in n_str: num_set.add(int(ch)) # 遍历集合中的每个数字,将它们相加得到不同数字的和 sum = for num in num_set: sum += num print("不同数字的和为:", sum) ``` 例如,当输入整数n为123456789时,输出结果为45,表示不同数字的和为1+2+3+4+5+6+7+8+9=45。 ### 回答2: 首先我们需要将输入整数n分解成单个数字,然后再去重求和。可以使用取模(%)和整除(//)运算符来实现这一过程。具体思路如下: 1. 定义一个列表nums用来存储分解出来的数字; 2. 使用循环得到n中的每一个数字,具体步骤如下: 2.1 通过取模运算n % 10,得到n的个位数,将其添加到nums列表中; 2.2 通过整除运算n // 10,更新n的值为去掉个位数后的数字; 2.3 如果n的值为0,则说明所有数字都已经分解完毕,退出循环。 3. 对nums列表去重,并求出不同数字的和。 代码实现如下: ``` n = int(input("请输入一个整数:")) nums = [] while n > 0: nums.append(n % 10) n //= 10 nums = list(set(nums)) sum = 0 for num in nums: sum += num print("不同数字的和为:", sum) ``` 我们可以输入一个整数进行测试,比如输入123312,输出结果为9,说明数字1、2、3分别出现了一次,它们的和为9。 ### 回答3: 1. 首先,需要从用户那里获得一个整数n,并将其存储在一个变量中。 2. 接下来,将该整数n转换成字符串,以便可以遍历它的每个数字。 3. 创建一个列表或集合,将n中所不同数字存储在其中。 4. 遍历n中的每个字符,判断其是否为数字。若是数字,在列表或集合中查找是否已存在该数字,若不存在,则将其加入列表或集合中。 5. 遍历结束后,计算列表或集合中所数字的和,即为输出结果。 6. 将结果输出。 下面是Python代码实现: ``` n = int(input("请输入一个整数:")) n_str = str(n) s = set() # 创建集合,用于存储数字 for c in n_str: if c.isdigit(): # 判断是否为数字 s.add(int(c)) # 将数字加入集合中 result = sum(s) # 计算集合中数字的和 print("n中所出现不同数字的和为:", result) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值