填空和编程题练习

举报
在下周周ovo 发表于 2022/09/20 17:29:01 2022/09/20
【摘要】 填空和编程题练习

 📚前言 

✅本次主要是<填空和编程题练习>难度中等,快来看看吧。

编辑

文章目录

📚前言 

🎆题目一:五道编程练习题

🎇题目要求 

🎇我的分析

🎇我的答案

🎆题目二:恺撒密码

🎇题目要求

🎇我的分析

🎇我的答案

🎆题目三:猴子分桃

🎇题目要求

🎇我的分析

🎇我的答案

🎆题目四:制作奇数

🎇题目要求

🎇我的分析

🎇我的答案

🎆题目一:五道编程练习题

🎇题目要求 

填空题1:为了提高Python代码加载速度和进行适当的保密,可以将Python程序文件编译为扩展名_______的文件 


填空题2:使用命令_________可以查看本机当前Python}版本下已安装的所有扩展库名称和版本号


填空题3:表达式int(4**0.5)的值为_________


填空题4:表达式eval('*'.join('1234'))的值为__________


填空题5:表达式chr(ord('a')32)的值为_______

🎇我的分析

 填空题1和2都是基础常识题目,填空题3是非常简单的,至于填空题4主要考察了join和内置函数eval的结合使用难度也是不大的,填空题5主要也是考察内置函数的使用和一些基本的ASCII码值的了解,Python中所有的内置函数在我之前的博客中也已经记录过了。

🎇我的答案

 填空题1:pyc

 填空题2:pip freeze

 填空题3:2

 填空题4:24

 填空题5:'A'​

编辑

🎆题目二:恺撒密码

🎇题目要求

原文:ABCDEFGHIJKLMNOPQRSTUVWXYZ

对应的密文为: DEFGHIJKLMNOPQRSTUVWXYZABC,请设计程序实现.

输出示例:

编辑


🎇我的分析

该题目主要的难点就是找到加密的方式规律

🎇我的答案

plaincode = input('请输入你要转换的明文 :')
for p in plaincode:
    if 'a' <= p <= 'z':
        res = chr(ord('a') + (ord(p)-ord('a') + 3)%26)
        print(res,end='')
    elif 'A' <= p <= 'Z':
        res = chr(ord('A') + (ord(p)-ord('A') + 3)%26)
        print(res, end='')
    else:
        print(p,end='')

答案验证

编辑

🎆题目三:猴子分桃

🎇题目要求

题目: 海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多 的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一 个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?

🎇我的分析

这道题目与数学题目息息相关,抓住题目的要求和关键就也可以很快解出。设一开始有一个桃子,肯定不够分。然后在这一个桃子的基础上,利用do...while循环。每次来一个猴子,桃子数量就会减一再乘以0.8(即拿五分之一剩下五分之四),只要判断五次循环后,拿到的五分之一的桃子是否为整数即可

🎇我的答案


i = 0
j = 1
x = 0
while (i < 5) :
     x = 4 * j
     for i in range(0,5) :
        if(x%4 != 0) :
            break
        else :
            i += 1
        x = (x/4) * 5 +1
     j += 1
print(f'海滩上原来最少有{x}个桃子')

输出结果:
海滩上原来最少有3121.0个桃子


编辑

🎆题目四:制作奇数

🎇题目要求

 求0—7所能组成的奇数个数

🎇我的分析

 这道题目的难度是比较大的,规律有一点不好找,其实,所谓奇数,就是不能够被2整除的数字,比如:1、3、5、7、9等,而这里,求0—7所能组成的奇数的个数,则我们可以逐步的探索。

规律,大致是如下的:

组成1位数是4个,分别为:1,3,5,7

组成2位数是7*4个,分别为:11,13,15,17,21,23,25,27......71,73,75,77。一共是7乘以4个。

组成3位数是784个,分别为101,103,105,107,111,113,115,117......771,773,775,777。则一共是784个。其中784,第一个7,表示百分位的变化范围,8为十分位的变化范围,4为个数分位的变化范围,三个数字进行排列组合,即可得到数字为3的数字的变化范围。下面组成4位数及再往下的规律,则与此基本上是想通的,达到7个位数,就是最高了。

组成4位数是788*4个。

🎇我的答案


sum = 4
s = 4
for j in range(2,9):
    print(sum)
    if j <= 2:
        s *= 7
    else:
        s *= 8
    sum += s
print('sum = %d' % sum)

输出结果:
32
256
2048
16384
131072
1048576
sum = 8388608

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。