我做过的Python30道练习题

练习题 1

成绩等级

要求输出成绩等级A、B、C、D、E,
其中90-100分为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。
要求:
- 用If语句实现;
- 输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。


参考答案:

 

练习题 2

预判比赛结果

篮球比赛是高分的比赛,领先优势可能很快被反超。
作为观众,希望能在球赛即将结束时,就提早知道领先是否不可超越。
体育作家Bill James发明了一种算法,用于判断领先是否“安全”。
算法描述:

  • 获取领先的分数 ,减去3分
  • 如果目前是领先队控球,则加0.5;否则减0.5(数字小于0则变成0);
  • 计算平方后的结果;
  • 如果得到的结果比当前比赛剩余时间的秒数大,则领先是“安全”的。

请编写程序实现上述算法的功能,并给出运行结果。


参考答案:

 

练习题 3

购物组合

小明单位发了100元的购物卡,
小明到超市买三类洗化用品:
洗发水(15元)、香皂(2元)、牙刷(5元)。要把100元正好花掉,
可有哪些购买组合?


参考答案:

 

练习题 4

猜数字

首先由计算机产生一个[0,100]之间的随机整数,然后由用户猜测所产生的随机数。
根据用户猜测的情况给出不同提示:

  • 如猜测的数大于产生的数,则显示“High”,小于则显示“Low”,等于则显示“You won !”,游戏结束。
  • 用户最多可以猜7次,如果7次均未猜中,则显示“You lost!”,并给出正确答案,游戏结束。
  • 游戏结束后,询问用户是否继续游戏,选择“Y”则开始一轮新的猜数游戏;选择“N”则退出游戏。!

参考答案:

 

练习题 5

赶鸭子

一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子的一半又一只。
这样他经过了七个村子后还剩两只鸭子,问他出发时共赶多少只鸭子?

要求:
- 利用递归函数编程实现。


参考答案:

 

练习题 6

从键盘输入一个1~7的数字,格式化输出对应数字的星期字符串名称。
如:输入3,返回“您输入的是星期三”。


参考答案:

 

练习题 7

数字密码

编程程序,从键盘任意输入1个4位数,
将该数字中的每位数与7相乘,然后取乘积结果的个位数对该数字进行替换,最后得到1个新的4位数。


参考答案:

 

练习题 8

九九乘法表

99乘法表


参考答案:

 

练习题 9

字符查询

输入一个字符串 str,输出第 m 个只出现过 n 次的字符

  • 如在字符串 gbgkkdehh 中,找出第 2 个只出现 1 次的字符,输出结果:d

参考答案:

练习题 10

判断奇偶数

给定一个数 a,判断一个数字是奇数或偶数


参考答案:

 

练习题 11

字符串去重排列

将字符串 s = “ajldjlajfdljfddd”,去重并从小到大排序输出”adfjl”。


参考答案:

练习题 12

打印菱形

打印如下内容:

 

   *
  ***
 *****
*******
 *****
  ***
   *

 参考答案:

练习题 13

判断几位数和逆序打印

给一个不多于 5 位的正整数(如 a = 12346)
求它是几位数和逆序打印出各位数字。


参考答案:

 

练习题 14

水仙花数

如果一个 3 位数等于其各位数字的立方和,则称这个数为水仙花数。
例如:153 = 1^3 + 5^3 + 3^3,因此 153 就是一个水仙花数。
那么如何求 1000 以内的水仙花数(3 位数)。


参考答案:

 

 

练习题 15

求质数

求10000以内的所有质数


参考答案:

练习题 16

求值

计算 1-2+3-4+5-…-100 的值。


参考答案:

 

练习题 17

立方和

现有计算公式 1^3 + 2^3 + 3^3 + 4^3 + …….+ n^3,
如何实现:当输入 n = 5 时,输出 225(对应的公式 : 1^3 + 2^3 + 3^3 + 4^3 + 5^3 = 225)。


参考答案:

 

练习题 18

对称数组

例如 [1,2,0,2,1],[1,2,3,3,2,1],这样的数组都是对称数组。
判断,是对称数组打印 True,不是打印 False。


参考答案:

练习题 19

取最大值

取出列表 L1 = [1, 2, 3, 11, 2, 5, 3, 2, 5, 33, 88] 中最大的三个值。


参考答案:

 

练习题 20

数字组合

有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?


参考答案:

练习题 21

计算奖金

题目:企业发放的奖金根据利润提成。

  • 利润(I)低于或等于10万元时,奖金可提10%;
  • 利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
  • 20万到40万之间时,高于20万元的部分,可提成5%;
  • 40万到60万之间时高于40万元的部分,可提成3%;
  • 60万到100万之间时,高于60万元的部分,可提成1.5%,
  • 高于100万元时,超过100万元的部分按1%提成,

从键盘输入当月利润I,求应发放奖金总数?


参考答案:

 

练习题 22

找数字

一个正整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

思路:

  • z + 100 = x ** 2
  • z + 100 + 168 = y ** 2
    x y为两个相邻的数时,z为最大值

参考答案:

练习题 23

查询第几天

题目:输入某年某月某日,判断这一天是这一年的第几天?

思路:闰年判断方法,四年一闰,百年不闰,四百年再闰.


参考答案:

 

练习题 24

十秒倒计时

题目:十秒倒计时。
程序分析:使用 time 模块的 sleep() 函数。
ps:熟悉time模块


参考答案:

练习题 25

打印当前时间

题目:持续打印当前时间,一分钟。


参考答案:

 

练习题 26

养兔子

题目:
有一对兔子,从出生后第3个月起每个月都生一对兔子,
小兔子长到第三个月后每个月又生一对兔子,
假如兔子都不死,问每个月的兔子总数为多少?

 

思路分析:
        一月兔     二月兔     成年兔
一月      2          0         0
二月      0          2         0
三月      2          0         2
四月      2          2         2
五月      4          2         4
六月      6          4         6
七月     10          6        10
八月     16         10        16
九月     26         16        26

综上分析可知,
①二月兔的数量,就是上个月一月兔的数量;
②成年兔的数量,就是上个月成年兔的数量+二月兔的数量;
③一月兔的数量,就是本月成年兔的数量;

参考答案:

练习题 27

养兔子——扩展题

上一题扩展,假设兔子寿命只有6个月,
养殖一年,一共还剩多少兔子,一月兔、二月兔、成年兔数量各多少

思路分析:
1. 前6个月数据不变
2. 第七个月开始,成年兔需要减去6个月之前的一月兔数量
3. 一月兔还是等于成年兔数量
4. 二月兔还是等于上个月一月兔数量

需要建立一个列表,记录每个月一月兔的数量,以便于第七个月开始可以调用

参考答案:

 

练习题 28

找出101-200之间的质数

题目:判断101-200之间有多少个素数,并输出所有素数。
思路,与练习题15一样

参考答案: 

练习题 29

猴子分桃子

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

思路分析
a = 5 * b + 1  # 第一只猴子拿走b个桃子
4 * b = 5 * c + 1  # 第二只猴子拿走c个桃子
4 * c = 5 * d + 1  # 第三只猴子拿走d个桃子
4 * d = 5 * e + 1  # 第四只猴子拿走e个桃子
4 * e = 5 * f + 1  # 第五只猴子拿走f个桃子

参考答案:

 

练习题 30

数据加密/解密

题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:
每位数字都加上5,然后用和除以10的余数代替该数字,
再将第一位和第四位交换,第二位和第三位交换。

分析:
① 加5,然后用和除以10的余数,其实就是加5后,新数字的个位数。
② 一四交换,二三交换,其实就是反转。

参考答案:

 

你可能感兴趣的:(后端,python,java,开发语言,python,后端,运维)