python 用0补足两位_经典编程100例——python版(例48~例50)

本文解析了三个Python编程挑战题目,包括截数问题、寻找特殊两位数及寻找符合条件的四数组合。通过这些题目,展示了如何使用字符串操作、循环结构以及条件判断等Python基本语法解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

例48:截数问题: 任意一个自然数,我们可以将其平均截取成三个自然数。例如自然数135768,可以截取成13,57,68三个自然数。如果某自然数不能平均截取(位数不能被3整除),可将该自然数高位补零后截取。现编程从键盘上输入一个自然数N(N的位数<12),计算截取后第一个数加第三个数减第二个数的结果。

求解分析:

1.len(srt(n))位数与3,6,9,12去比较,如果不足则分别补足3,6,9,12,这里用到了str.zfill()方法。

字符串zfill() 方法返回指定长度的字符串,原字符串右对齐,前面填充0。

2.int转换成str,再分割,分割后,str转换成int做加减法求和。

代码如下:(有点多了,感觉不像python)

e3556172f937d110299ea8d803f41e08.png

测试结果:

e0e4faf7c025532f370508c40b9b28c1.png

500e6ef571ab693644701d014895d46d.png

bb62a91d82a1cf7a9826a1362bac3317.png

2657d393cd16ad308549c212b543f860.png

本人愚笨,一直想不明白,如何对程序进行优化,总感觉这个代码不像python,或者说跟我想像中的不一样。

————————————————

例49:试编程找出能被各位数字之和整除的一切两位数。

求解分析:

把十位和个位的数字取出来

符合条件的整数放到列表中,打印列表

代码如下:

619dab216a9d59e0761b0ea8959a5e5d.png

测试结果:

3190a3e8df796d61768ecbd2fbb41dcd.png

    一直不怎么用while,现在强迫自己用while来求解,再用for去验证。while和for,可能也是一个用习惯了的问题。不过作为一名教师,得补齐短板,两者都得会,因为要教给学生。

————————————————

例50:编程找出四个互不相等的自然数, 它们之中任意两数之和为偶数,  任意三数之和可以被3整除, 而且这四个数的和越小越好(已知它们的和不大于50).

求解分析:

四个自然数中任意两数之和为偶数,要么四个数全部是奇数,要么四个数全部是偶数。

互不相等的处理,是在取值范围上做了文章。

代码如下:

方法一:

967808277684e3adc04697953566cefb.png

感觉代码太长了,想起好久没用函数了。

方法二:

40e1e8a10c0a1244f22eecfe8d156dd6.png

测试结果:

2eaf4b534eae840e2cc3f5c30a99197c.png

————————————————

    100例,一开始觉得不难,真的坚持做下来,感觉有点吃不消了。有些题,真的是怎么想也想不明白,有些题,总感觉有更加简单的方法求解,也想不到,苦恼。

    开学第一周马上要结束了,下周开始要在机房给学生上课了,解题更新要缓一缓了。首要任务是把学生教好了,希望学生有兴趣学习python,python也能帮助到学生。

另外,mu编辑器(https://codewith.mu/en/download)真的不错,有兴趣的老师,可以去下载试试,我想学生也会喜欢的。

————————————————

1564d0749b35ee2971862c9fb389feb3.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值