python学完基础后怎么进阶_python学完基础语法,一定要去做的3道Python进阶作业题(进阶篇)...

前言:

以前总以为基础知识就那回事,随便学学就行了,但是最近辅导学生做作业让我收获很多,发现基础知识有很大的学问,尤其是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.comv2-a037e2371f3eae850013a8f025665e6d_180x120.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值