当前位置:   article > 正文

python基础题库100题及答案,python基础题库及答案

python基础题库100题及答案

这篇文章主要介绍了python基础题库100题及答案,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

目录

  • 1. 输入一个百分制成绩

  • 2. 篮球比赛案例

  • 3.根据y=1+3-1+3-1+……+(2n-1)-1,求:

  • 4. 购物卡案例

  • 5. 设计一个猜数游戏

  • 6.建立1个包含10个字符的字符串

  • 7. 编写函数

  • 8. 赶鸭子

  • 9.将复数2.3103-1.3410-3j赋值给变量A,并分别提取A的实部和虚部。

  • 10.计算下列表达式的值

  • 11.建立一个包含10个字符的字符串A,然后对该字符串进行如下操作:

  • 12.分别格式化输出0.002178对应的科学表示法形式

  • 13.编写程序

  • 14.数字加密游戏

1. 输入一个百分制成绩

,要求输出成绩等级A、B、C、D、E,其中90100分为A,8089分为B,7079分为C,6069分为D,60分以下为E。

要求:

  • 用if语句实现;

  • 输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

代码:

  1. a=eval(input('请输入成绩:'))
  2. if a<0 or a>100 or a%1!=0:
  3. print('您输入的成绩不合理,请检查后重新输入')
  4. elif 90<=a<=100:
  5. print('成绩等级:A')
  6. elif 80<=a<=89:
  7. print('成绩等级:B')
  8. elif 70<=a<=79:
  9. print('成绩等级:C')
  10. elif 60<=a<=69:
  11. print('成绩等级:D')
  12. else:
  13. print('成绩等级:E')

输出:

在这里插入图片描述

2. 篮球比赛案例

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

算法描述:

  • 获取领先的分数 ,减去3分;

  • 如果目前是领先队控球,则加0.5;否则减0.5(数字小于0则变成0);

  • 计算平方后的结果;

  • 如果得到的结果比当前比赛剩余时间的秒数大,则领先是“安全”的。

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

代码:

  1. rade=eval(input('请输入领先分数:'))
  2. time=eval(input('请输入剩余时间:'))
  3. t=grade-3
  4. w=input('目前是否为领先队控球(Y or N):')
  5. if w == 'Y' or w == 'y':
  6. g=(t+0.5)**2
  7. else:
  8. g=t-0.5
  9. if g<=0:
  10. g=0
  11. g=g**2
  12. if g>time:
  13. print('领先是“安全”的')
  14. else:
  15. print('领先是“不安全”的')

输出:

在这里插入图片描述

3.根据y=1+3-1+3-1+……+(2n-1)-1,求:

  • y<3时的最大n值。

  • 与(1)的n值对应的y值。

代码:

  1. x=1
  2. y=0
  3. while y<3:
  4. y=y+1/(2*x-1)
  5. x=x+1
  6. print('y<3时的最大n值为{}'.format(x-1))
  7. print('与(1)的n值对应的y值为{}'.format(y-1/(2*x-1)))

输出:

y<3时的最大n值为57
与(1)的n值对应的y值为2.9945914066381527

4. 购物卡案例

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

代码:

  1. money=100
  2. n=money//15
  3. for i in range(n,-1,-1):
  4. m=(money-i*15)//5
  5. for j in range(m,-1,-1):
  6. k=(money-i*15-j*5)//2
  7. if (money-i*15-j*5)%2==0:
  8. print('可选择的购买组合:\t\t购买洗发水 {} 瓶,香皂 {} 块,牙刷 {}个。'.format(i,j,k))

输出:

可选择的购买组合: 购买洗发水 6 瓶,香皂 2 块,牙刷 0个。 可选择的购买组合: 购买洗发水 6 瓶,香皂 0 块,牙刷 5个。
可选择的购买组合: 购买洗发水 5 瓶,香皂 5 块,牙刷 0个。 可选择的购买组合: 购买洗发水 5 瓶,香皂 3 块,牙刷 5个。
可选择的购买组合: 购买洗发水 5 瓶,香皂 1 块,牙刷 10个。 可选择的购买组合: 购买洗发水 4 瓶,香皂 8 块,牙刷 0个。
可选择的购买组合: 购买洗发水 4 瓶,香皂 6 块,牙刷 5个。 可选择的购买组合: 购买洗发水 4 瓶,香皂 4 块,牙刷 10个。
可选择的购买组合: 购买洗发水 4 瓶,香皂 2 块,牙刷 15个。 可选择的购买组合: 购买洗发水 4 瓶,香皂 0 块,牙刷
20个。 可选择的购买组合: 购买洗发水 3 瓶,香皂 11 块,牙刷 0个。 可选择的购买组合: 购买洗发水 3 瓶,香皂 9
块,牙刷 5个。 可选择的购买组合: 购买洗发水 3 瓶,香皂 7 块,牙刷 10个。 可选择的购买组合: 购买洗发水 3 瓶,香皂 5
块,牙刷 15个。 可选择的购买组合: 购买洗发水 3 瓶,香皂 3 块,牙刷 20个。 可选择的购买组合: 购买洗发水 3 瓶,香皂
1 块,牙刷 25个。 可选择的购买组合: 购买洗发水 2 瓶,香皂 14 块,牙刷 0个。 可选择的购买组合: 购买洗发水 2
瓶,香皂 12 块,牙刷 5个。 可选择的购买组合: 购买洗发水 2 瓶,香皂 10 块,牙刷 10个。 可选择的购买组合: 购买洗发水
2 瓶,香皂 8 块,牙刷 15个。 可选择的购买组合: 购买洗发水 2 瓶,香皂 6 块,牙刷 20个。 可选择的购买组合:
购买洗发水 2 瓶,香皂 4 块,牙刷 25个。 可选择的购买组合: 购买洗发水 2 瓶,香皂 2 块,牙刷 30个。 可选择的购买组合:
购买洗发水 2 瓶,香皂 0 块,牙刷 35个。 可选择的购买组合: 购买洗发水 1 瓶,香皂 17 块,牙刷 0个。 可选择的购买组合:
购买洗发水 1 瓶,香皂 15 块,牙刷 5个。 可选择的购买组合: 购买洗发水 1 瓶,香皂 13 块,牙刷 10个。
可选择的购买组合: 购买洗发水 1 瓶,香皂 11 块,牙刷 15个。 可选择的购买组合: 购买洗发水 1 瓶,香皂 9 块,牙刷
20个。 可选择的购买组合: 购买洗发水 1 瓶,香皂 7 块,牙刷 25个。 可选择的购买组合: 购买洗发水 1 瓶,香皂 5
块,牙刷 30个。 可选择的购买组合: 购买洗发水 1 瓶,香皂 3 块,牙刷 35个。 可选择的购买组合: 购买洗发水 1 瓶,香皂
1 块,牙刷 40个。 可选择的购买组合: 购买洗发水 0 瓶,香皂 20 块,牙刷 0个。 可选择的购买组合: 购买洗发水 0
瓶,香皂 18 块,牙刷 5个。 可选择的购买组合: 购买洗发水 0 瓶,香皂 16 块,牙刷 10个。 可选择的购买组合: 购买洗发水
0 瓶,香皂 14 块,牙刷 15个。 可选择的购买组合: 购买洗发水 0 瓶,香皂 12 块,牙刷 20个。 可选择的购买组合:
购买洗发水 0 瓶,香皂 10 块,牙刷 25个。 可选择的购买组合: 购买洗发水 0 瓶,香皂 8 块,牙刷 30个。
可选择的购买组合: 购买洗发水 0 瓶,香皂 6 块,牙刷 35个。 可选择的购买组合: 购买洗发水 0 瓶,香皂 4 块,牙刷
40个。 可选择的购买组合: 购买洗发水 0 瓶,香皂 2 块,牙刷 45个。 可选择的购买组合: 购买洗发水 0 瓶,香皂 0
块,牙刷 50个。

5. 设计一个猜数游戏

首先由计算机产生一个[1,100]之间的随机整数,然后由用户猜测所产生的随机数。根据用户猜测的情况给出不同提示,如猜测的数大于产生的数,则显示“High”,小于则显示“Low”,等于则显示“You
won !”,游戏结束。用户最多可以猜7次,如果7次均未猜中,则显示“You lost
!”,并给出正确答案,游戏结束。游戏结束后,询问用户是否继续游戏,选择“Y”则开始一轮新的猜数游戏;选择“N”则退出游戏。

代码:

  1. chose = 'y'
  2. while chose=='Y' or chose=='y':
  3. import random
  4. num = random.randint(1,100)
  5. def judge(b):
  6. if b == num:
  7. return 1
  8. else:
  9. return 0
  10. for i in range(1,8):
  11. b=eval(input('请输入您第{}次所猜的整数:'.format(i)))
  12. if judge(b)==1:
  13. print("You won !")
  14. break
  15. elif b > num:
  16. print("high")
  17. elif b < num:
  18. print("low")
  19. if judge(b)==0:
  20. print("You lost !")
  21. chose=input('请输入Y(y)继续进行游戏,N(n)退出游戏:')
  22. while chose != 'Y' and chose != 'y' and chose != 'N' and chose != 'n':
  23. print('输入有误,请重新输入Y(y)继续进行游戏,N(n)退出游戏:',end = '')
  24. chose=input()

输出:

请输入您第1次所猜的整数:2 low 请输入您第2次所猜的整数:5 low 请输入您第3次所猜的整数:8 low
请输入您第4次所猜的整数:7 low 请输入您第5次所猜的整数:50 low 请输入您第6次所猜的整数:60 low
请输入您第7次所猜的整数:80 high You lost ! 请输入Y(y)继续进行游戏,N(n)退出游戏:n

6.建立1个包含10个字符的字符串

建立1个包含10个字符的字符串,并根据键盘输入的数字n输出字符串中的第n个字符。当n值超过字符串的索引时,自动转为输出字符串中的最后1个字符。

要求:

  • 用try语句实现。

代码:

  1. n=int(input('请输入数字n:'))
  2. a='pengyuanyu'
  3. try:
  4. print(a[n-1])
  5. except:
  6. print(a[9])

输出:

请输入数字n:5 y

7. 编写函数

该函数可以输入任意多个数,函数返回输出所有输入参数的最大值、最小值和平均值。

代码:

  1. import numpy as py
  2. x=input('请输入一组数并用空格隔开:')
  3. def f(x):
  4. lis =list(x.split(' '))
  5. for i in range(len(lis)):
  6. lis[i]=eval(lis[i])
  7. print('该组数值的最大值为:',max(lis))
  8. print('该组数值的最小值为:',min(lis))
  9. print('该组数值的平均值为:',py.mean(lis))
  10. f(x)

输出:

请输入一组数并用空格隔开:5 4 10 该组数值的最大值为:10 该组数值的最小值为:4
该组数值的平均值为:6.333333333333333

8. 赶鸭子

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

要求:

  • 利用递归函数编程实现。

代码:

  1. def f(n):
  2. if n == 8:
  3. return 2
  4. else:
  5. sum = f(n+1)*2+2
  6. return sum
  7. print('一共有{}只鸭子'.format(f(1)))

输出:

一共有510只鸭子

9.将复数2.3103-1.3410-3j赋值给变量A,并分别提取A的实部和虚部。

代码:

  1. >>> A=complex(2.3e3,-1.34e-3)
  2. >>> print(A.real)
  3. 2300.0
  4. >>> print(A.imag)
  5. -0.00134

10.计算下列表达式的值

在这里插入图片描述
代码:

  1. import math
  2. z1=(2*(math.sin(math.pi*85/180)))/(1+math.e**2)
  3. print(z1)

输出:

0.23749863783095462

在这里插入图片描述
其中x是从键盘获取的任意实数。

代码:

  1. import math
  2. x=int(input('请输入整数:'))
  3. z2=1/2*math.log(x+math.sqrt(1+math.pow(x, 2)))
  4. print(z2)

输出:

请输入整数:5
1.1562191706363762

11.建立一个包含10个字符的字符串A,然后对该字符串进行如下操作:

  • (1)计算输出字符串的长度;

  • (2)从第1个字符开始,每间隔2个字符取1个字符,组成子字符串B;

  • (3)将字符串A倒过来重新排列产生新的字符串C;

  • (4)将字符串A的前4个字符与字符串C的后5个字符进行组合,产生字符串D。

代码:

  1. A=input()
  2. >>> len(A)
  3. >>> B=print(A[::3])
  4. >>> C=print(A[::-1])
  5. >>> D=print(A[:3]+C[-5:])

12.分别格式化输出0.002178对应的科学表示法形式

分别格式化输出0.002178对应的科学表示法形式、具有4位小数精度的浮点数形式和百分数形式,并将输出宽度设定为10、居中对齐、星号*填充。

代码:

  1. x=0.002178
  2. print("x对应的科学表示法形式为:",("%e"%x).center(10,'*'))
  3. print('x具有4位小数精度的浮点数形式为:',('{0:.4f}'.format(x)).center(10,'*'))
  4. print('x百分数形式为:',(('{0:.2f}%'.format(x*100)).center(10,'*')))

输出:

x对应的科学表示法形式为: 2.178000e-03 x具有4位小数精度的浮点数形式为:0.0022 x百分数形式为:
0.22%*

13.编写程序

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

代码:

  1. n =int(input('输入一个1~7的数字:'))
  2. if(n==1):
  3. print("您输入的是星期一")
  4. elif(n==2):
  5. print("您输入的是星期二")
  6. elif(n==3):
  7. print("您输入的是星期三")
  8. elif(n==4):
  9. print("您输入的是星期四")
  10. elif(n==5):
  11. print("您输入的是星期五")
  12. elif(n==6):
  13. print("您输入的是星期六")
  14. elif(n==7):
  15. print("您输入的是星期日")

输出:

输入一个1~7的数字3 您输入的是星期三

14.数字加密游戏

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

代码:

  1. n = int(input('任意输入1个4位数:'))
  2. if 1000<=n<=9999:
  3. a=n%10
  4. b=(n-a)%100/10
  5. c=(n-a-10*b)%1000/100
  6. d=(n-a-10*b-100*c)%10000/1000
  7. a=a*7%10
  8. b=b*7%10
  9. c=c*7%10
  10. d=d*7%10
  11. n=1000*d+100*c+10*b+a
  12. print(int(n))
  13. elif n<=1000 or n>=9999:
  14. print("您输入的数字不符合要求,请输入一个四位数字")

输出:

任意输入1个4位数:111 您输入的数字不符合要求,请输入一个四位数字

任意输入1个4位数:6666 2222

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

文章知识点与官方知识档案匹配,可进一步学习相关知识
Python入门技能树首页概览415861 人正在系统学习中
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/539816
推荐阅读
相关标签
  

闽ICP备14008679号