python 找质数的个数_python学完基础语法,一定要去做的3道Python进阶作业题(进阶篇)...

787e783d10ff2830dd80e0ac2f4958b6.png

前言:

以前总以为基础知识就那回事,随便学学就行了,但是最近辅导学生做作业让我收获很多,发现基础知识有很大的学问,尤其是python语法,一行巧妙的代码能替代几行甚至十几行传统代码,既简洁又高效,下面给大家分享3道python作业题,用到的都是很基础的知识,但是肯定会让你耳目一新:

Number One:

题目:输入一组正整数数据(以逗号隔开),找出其中的质数及其个数,并求出数据中质数的和。要求用函数is_prime(x)实现质素判断,可考虑用函数prime_sum()实现质素求和处理。

知识点:主要考察函数的用法,字符、列表的切割

难度系数:3颗星解

解题思路:先将输入的字符split成列表,定义is_prime函数,用for循环循环判断该列表中的整数是否为质数,并将质数存入新的字符串中,最后将质数字符串split分割成列表,定义prime_sum循环计算质数列表的和。

代码:

def is_prime(num):
    for i in range(2,int(num)):
        if num%i==0:
            return False
    return True
def prime_sum(list2):
    sum1=0
    for i in list2:
        sum1+=int(i)
    return sum1
a = input('请输入正整数数据:')
list1 = a.split(',')
print('原数据为:'+a+',共计'+str(len(list1))+'个数据')
result = ''
for i in list1:
    if is_prime(int(i)):
        result+=','+i
list2=result[1:].split(',')
print('其中质数为:'+str(result[1:])+'共计'+str(len(list2))+'个质数')
print('质数和为:'+str(prime_sum(list2)))

Number Two:

题目:一串文字,包括中英文数字标点,将每个字符用ord转成5位编码,将每个字符用ord转成5位编码,不足5位前面补零,将每个编码反序,组成加密编码S1输出,再将S1(用chr)解密成原文字输出。

知识点:主要涉及字符编码、字符的分组与反向

难度系数:3颗星

解题思路:先for循环每个字符,将每个字符用ord编码,将每个编码反转后组成密码,再将密码按5个一组进行分组,反转后进行chr解码。

代码:

content = input('请输入要转化的内容:')
S1 = ""
for i in content:
  a = '%.5d' % ord(i)
  reverse_a = a[::-1]
  S1 += reverse_a
print('S1解密后为:')
ret = ''.join([chr(int(S1[i:i+5][::-1])) for i in range(0, len(S1), 5)])
print(ret)

Number Three:

题目:数的分解。(2-100)
2=1×2
3=1×3
4=1×2×2
5=1×5
6=1×2×6
……
100=1×2×2×5×5

知识点:主要考察循环和判断语句

难度系数:4颗星

解题思路:循环1至100每个整数,依次找出每个整数的因数

代码

for n in range(1,101):
    print('%d='%n,end='')
    if n==1:
        print(1)
    else:
        print('%d×' % 1, end='')
        while n>1:
            for i in range(2, n+1):
                if n%i==0:
                    n=int(n/i)
                    if n==1:
                        print('%d'%i, end='n')
                    else:
                        print('%d×'%i, end='')

最后总结:

欢迎大家积极尝试去做一下,看东西不能只看表面,不然自己动手实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。

欢迎大家点赞,留言,转发,感谢大家的相伴与支持,关注公众号:【Python的进阶之旅】有惊喜哦!最后总结:

往期精彩文章:

python初学者,用python3实现基本的学生管理系统代码实例​mp.weixin.qq.com
7c97389e7331533b36b943044e411cc9.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值