iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >14道基础Python练习题(附答案)
  • 319
分享到

14道基础Python练习题(附答案)

2024-04-02 19:04:59 319人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录1. 输入一个百分制成绩2. 篮球比赛案例3.根据y=1+3-1+3-1+……+(2n-1)-1,求:4. 购物卡案例5. 设计一个猜数游戏6.建立1个包含10个字符的字符串7.

1. 输入一个百分制成绩

,要求输出成绩等级A、B、C、D、E,其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。

要求:

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

代码:


a=eval(input('请输入成绩:'))
if a<0 or a>100 or a%1!=0:
    print('您输入的成绩不合理,请检查后重新输入')
elif 90<=a<=100:
    print('成绩等级:A')
elif 80<=a<=89:
    print('成绩等级:B')
elif 70<=a<=79:
    print('成绩等级:C')
elif 60<=a<=69:
    print('成绩等级:D')
else:
    print('成绩等级:E')


输出:

2. 篮球比赛案例

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

算法描述:

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

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

代码:


grade=eval(input('请输入领先分数:'))
time=eval(input('请输入剩余时间:'))
t=grade-3
w=input('目前是否为领先队控球(Y or N):')
if w == 'Y' or w == 'y':
    g=(t+0.5)**2
else:
    g=t-0.5
    if g<=0:
       g=0
    g=g**2
if g>time:
    print('领先是“安全”的')
else:
    print('领先是“不安全”的')


输出:

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

  • y<3时的最大n值。
  • 与(1)的n值对应的y值。

代码:


x=1
y=0
while y<3:
    y=y+1/(2*x-1)
    x=x+1
print('y<3时的最大n值为{}'.fORMat(x-1))
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元正好花掉,可有哪些购买组合?

代码:


money=100
n=money//15
for i in range(n,-1,-1):
    m=(money-i*15)//5
    for j in range(m,-1,-1):
        k=(money-i*15-j*5)//2
        if (money-i*15-j*5)%2==0:
            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”则退出游戏。

代码:


chose = 'y'
while chose=='Y' or chose=='y':
    import random
    num = random.randint(1,100)
    def judge(b):
        if b == num:
            return 1
        else:
            return 0
    for i in range(1,8):
        b=eval(input('请输入您第{}次所猜的整数:'.format(i)))
        if judge(b)==1:
            print("You won !")
            break
        elif b > num:
            print("high")
        elif b < num:
            print("low")
    if judge(b)==0:
        print("You lost !")
    chose=input('请输入Y(y)继续进行游戏,N(n)退出游戏:')
    while chose != 'Y' and chose != 'y' and chose != 'N' and chose != 'n':
        print('输入有误,请重新输入Y(y)继续进行游戏,N(n)退出游戏:',end = '')
        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语句实现。

代码:


n=int(input('请输入数字n:'))
a='pengyuanyu'
try:
    print(a[n-1])
except:
    print(a[9])


输出:

请输入数字n:5
y

7. 编写函数

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

代码:


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


输出:

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

8. 赶鸭子

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

要求:

代码:


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


输出:

一共有510只鸭子

9.将复数2.3×103-1.34×10-3j赋值给变量A,并分别提取A的实部和虚部。

代码:


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

10.计算下列表达式的值

代码:


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


输出:

0.23749863783095462

其中x是从键盘获取的任意实数。

代码:


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


输出:

请输入整数:5
1.1562191706363762

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

  • (1)计算输出字符串的长度;
  • (2)从第1个字符开始,每间隔2个字符取1个字符,组成子字符串B;
  • (3)将字符串A倒过来重新排列产生新的字符串C;
  • (4)将字符串A的前4个字符与字符串C的后5个字符进行组合,产生字符串D。

代码:


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

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

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

代码:


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


输出:

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

13.编写程序

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

代码:


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


输出:

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

14.数字加密游戏

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

代码:


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


输出:

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

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

到此这篇关于14道基础python练习题(附答案)的文章就介绍到这了,更多相关Python练习题内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 14道基础Python练习题(附答案)

本文链接: https://www.lsjlt.com/news/156565.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 14道基础Python练习题(附答案)
    目录1. 输入一个百分制成绩2. 篮球比赛案例3.根据y=1+3-1+3-1+……+(2n-1)-1,求:4. 购物卡案例5. 设计一个猜数游戏6.建立1个包含10个字符的字符串7....
    99+
    2024-04-02
  • python基础面试题30问(附带答案)
    1、     闭包 定义:闭包是由函数及其相关的引用环境组合而成的实体(即:闭包=函数+引用环境)(想想Erlang的外层函数传入一个参数a, 内层函数依旧传入一个参数b, 内层函数使用a和b, 最后返回内层函数) 代码:def ExFu...
    99+
    2023-01-31
    面试题 答案 基础
  • 【Python基础】练习题
    # 练习题 ''' 1、简述编译型语言和解释性语言的区别,并且列出你知道哪些语言为编译型那些为解释型 编译型语言:每次编写完成后都要将其编译成二进制(0和1)文件 优点:运行速度快 ...
    99+
    2023-01-31
    练习题 基础 Python
  • 【14】Python100例基础练习(1
    例1:有四个数字:1、2、3、4能组成多少个互不相同且无重复的数字的三位数?各是多少?审题:1.去重2.计算总数程序代码:方法1: dict=[] for in range(1,5): #i变量赋值 1 2 3 4 for j ...
    99+
    2023-01-31
    基础
  • 值得苦练的100道Python经典练手题,(附详细答案)
    嗨喽大家好卷子又来了,100道Python经典练手题奉上 花了一周的时间,整理了100道Python的练习题,如果你是一位初学者,那么这一份练习题将会给你带来极大的帮助,如果你能够完全独立的完成这份练习题,你已经入门的Python了,练习题...
    99+
    2023-08-31
    python 开发语言
  • python基础1习题练习
    python基础1习题练习: #encoding:utf-8 #1.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败! name=input('name>>: ').strip...
    99+
    2023-01-31
    习题 基础 python
  • mysql练习:经典50道基础题
    目录 一、环境准备50道题目练习1、查询"01"课程比"02"课程成绩高的学生的信息及课程分数2、查询学生选课存在" 01 "课程但可能不存在" 02 "课程的情况(不存在时显示为 null)...
    99+
    2023-09-11
    mysql 数据库 java
  • 5道关于python基础while循环练习题
    目录1. 使用while循环输出1 2 3 4 5 6 8 9 102. 求1-100的所有数的和3. 输出 1-100 内的所有奇数4.输出 1-100 内的所有偶数5. 用户登陆...
    99+
    2024-04-02
  • 25道Python练手题(附详细答案),赶紧收藏!python入门
    题目 1:水仙花数 水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆...
    99+
    2023-09-02
    python 数学建模 开发语言
  • Python基础练习100题 ( 91
    昨天和大家分享了81-90题,今天继续来刷最后的91-100题 Question 91: Please write a program which accepts a string from console and print it ...
    99+
    2023-01-31
    基础 Python
  • Python基础练习100题 ( 1~
    大家好,好久不见,我最近在Github上发现了一个好东西,是关于夯实Python基础的100道题,原作者是在Python2的时候创建的,闲来无事,非常适合像我一样的小白来练习 对于每一道题,解法都不唯一,我在这里仅仅是抛砖引玉,希望可以...
    99+
    2023-01-31
    基础 Python
  • Python基础练习100题 ( 11
    上一期和大家分享了前10道题,今天继续来刷11~20 Question 11: Write a program which accepts a sequence of comma separated 4 digit binary nu...
    99+
    2023-01-31
    基础 Python
  • Python基础练习100题 ( 71
    昨天和大家分享了61-70题,今天继续来刷71~80题 Question 71: Please write a program to output a random number, which is divisible by 5 and...
    99+
    2023-01-31
    基础 Python
  • Python基础练习100题 ( 51
    昨天和大家分享了41-50题,今天继续来刷51~60题 Question 51: Write a function to compute 5/0 and use try/except to catch the exceptions. ...
    99+
    2023-01-31
    基础 Python
  • Python基础练习100题 ( 21
    昨天和大家分享了前10道题,今天继续来刷21~30 Question 21: A robot moves in a plane starting from the original point (0,0). The robot can ...
    99+
    2023-01-31
    基础 Python
  • Python基础练习100题 ( 81
    昨天和大家分享了71-80题,今天继续来刷81~90题 Question 81: By using list comprehension, please write a program to print the list after r...
    99+
    2023-01-31
    基础 Python
  • Python基础练习100题 ( 41
    大家好,我又回来了,昨天和大家分享了31-40题,今天继续来看41~50题 Question 41: Write a program which can map() to make a list whose elements are s...
    99+
    2023-01-31
    基础 Python
  • Python基础练习100题 ( 31
    昨天和大家分享了21-30题,今天继续来刷31~40题 Question 31: Define a function which can print a dictionary where the keys are number...
    99+
    2023-01-31
    基础 Python
  • Python基础练习100题 ( 61
    昨天和大家分享了51-60题,今天继续来刷61~70题 Question 61: The Fibonacci Sequence is computed based on the following formula: f(n)=0 if ...
    99+
    2023-01-31
    基础 Python
  • 40道Python经典面试题(附答案)
    1)什么是Python?使用Python有什么好处? Python是一种编程语言,包含对象,模块,线程,异常和自动内存管理。Python的好处在于它简单易用,可移植,可扩展,内置数据结构,并且它是一...
    99+
    2023-10-03
    python python自学 开发语言 面试 面试题目
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作