水仙花 & 两个字符串集合的并集 & 与7相关的数 & 打印完数

 

目录

 

打印一定范围的水仙花数

题目内容:

代码输入:

代码结果截图:

输入两个字符串,输出两个字符串集合的并集

题目内容:

代码输入:

代码结果截图:

与7相关的数

题目内容:

代码输入:

代码结果截图:


打印一定范围的水仙花数

打印一定范围内的水仙花数:水仙花数是指一个n位数 (n≥3),它的每个位上的数字的n次幂之和等于它本身。

题目内容:

水仙花数是指一个n位数 (n≥3),它的每个位上的数字的n次幂之和等于它本身。

例如:153是一个“水仙花数”,因为 153 是个 3位数,而1**3+5**3+3**3==153。

输入一个正整数max,输出100到max之间的所有水仙花数(包括max)。


输入格式:

共一行,为一个正整数。

输出格式:

若干行,从小到大输出水仙花数,一行为一个数。

输入样例:

2500

输出样例:

153

370

371

407

1634


代码输入:

def is_narcissistic(n):  
    """判断一个数是否为水仙花数"""  
    # 将整数转换为字符串,获取位数  
    digits = str(n)  
    length = len(digits)  
    # 计算各位数字的n次幂之和  
    sum_of_powers = sum(int(digit) ** length for digit in digits)  
    # 如果和等于原数,则为水仙花数  
    return sum_of_powers == n  
  
# 读取输入  
max_num = int(input())  
  
# 遍历100到max之间的所有整数,打印出水仙花数  
for num in range(100, max_num + 1):  
    if is_narcissistic(num):  
        print(num)

代码结果截图:


输入两个字符串,输出两个字符串集合的并集

题目内容:

输入两个字符串,输出两个字符串集合的并集。

为保证输出结果一致,请将集合内元素排序之后再输出,


输入格式:

共两行,每一行为一个字符串

输出格式:

共一行,为一个集合

输入样例:

abc

bcd

输出样例:

['a', 'b', 'c', 'd']

代码输入:

思路:

1)先从输入中读取两个字符串。2)将每个字符串转换为字符集合(set),以去除重复字符。3)合并这两个集合。4)将合并后的集合转换为列表,并排序。4)输出排序后的列表。

!!!union()函数是一个用于计算两个或多个集合的并集的函数。

!!!set()函数是 Python 中的一个内置函数,用于创建一个集合(set)对象。

# 读取两个字符串,并将两个字符串转化为集合
str1=input("请输入")
str2=input("请输入")
set1=set(str1)
set2=set(str2)
#合并集合 combine
union_set=set1.union(set2)
#将集合转化为列表排序
sorted_list=sorted(list(union_set))
print("排序后的列表",sorted_list)

代码结果截图:

与7相关的数

与7相关的数:如果一个正整数,它能被7整除或者它的十进制表示法中某个位数上的数字为7,则称之为与7相关的数。

题目内容:

现在我们给定一个正整数n(n<1000),求所有小于等于n的与7无关的正整数的平方和。


输入格式:

共一行,为一个正整数。

输出格式:

共一行,为一个正整数。

输入样例:

50

输出样例:

31469

代码输入:

思路:如果一个正整数,它能被7整除或者它的十进制表示法中某个位数上的数字为7,则称之为与7相关的数

!!!return: 如果与7相关则返回True,否则返回False

!!!计算小于等于n的与7无关的正整数的平方和 

def pd_seven(num):
    if num % 7 ==0:
        return True
    return '7' in str (num)
def not_seven(n):
    t_sum=0
    for i in range(1,n+1):
        if not pd_seven(i): #判断
            t_sum += i**2
    return t_sum

n=int(input("请输入:"))
print(not_seven(n))

代码结果截图:

 

  • 27
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

做个尘世俗人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值