python 获得用户输入的一个整数N,输出N中所出现不同数字的和 例如:输入123123123 其中所出现的不同数字为:1、2、3这几个数字和为6 用集合去重功能

获得用户输入的一个整数N,输出N中所出现不同数字的和
例如:输入123123123 其中所出现的不同数字为:1、2、3这几个数字和为6
用集合去重功能

print(sum(map(int, set(input()))))

该回答引用chatgpt:


n = input("请输入一个整数:")
unique_digits = set(n)  # 将输入的整数转换成一个包含不同数字的集合
digit_sum = sum([int(d) for d in unique_digits])  # 计算集合中所有数字的和
print("输入的整数中所出现不同数字的和为:", digit_sum)

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7554775
  • 这篇博客也不错, 你可以看下Python之保留小数点后n位、向上取整、向下取整以及四舍五入函数
  • 除此之外, 这篇博客: python语言程序设计_梁勇—第五章练习题重点题目答案中的 6、(计算最大公约数) 找出两个整数n1、n2的最大公约数的解决方案,首先,找出二者最小的数d,然后依次递减的顺序去找二者的公因子,第一个数就是二者的最大公约数 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • def greatest_common_divisor():
        n1 = eval(input("Enter the first integer:"))
        n2 = eval(input("Enter the second integer:"))
        d = min(n1,n2)
        for i in range(d,1,-1): # range()函数步长问题:https://www.cnblogs.com/Lambda721/p/7776600.html
            if n1 % i == 0 and n2 % i == 0:
                print("二者的最大公约数为:%d"%i)
                break
        else:
            print("二者无公约数")