《python练习题在手,期末考试心不抖》

2024-01-28 11:40

本文主要是介绍《python练习题在手,期末考试心不抖》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、
从键盘输入摄氏度,计算并输出对应的华氏度、开氏度。
其中:摄氏度=(华氏度-32)/1.8;
华氏度=摄氏度
1.8+32;
开氏度=摄氏度+273.15。*

S = float(input("请输入摄氏度: "))
H = S*1.8 + 32
K = S + 273.15
print("摄氏度为:", S, "\n对应的华氏度,开氏度分别是:", H, K)

结果:

请输入摄氏度: 123
摄氏度为: 123.0 
对应的华氏度,开氏度分别是: 253.4 396.15

2、
编写程序,
用键盘输入一个三位整数,
在屏幕打印输出个位数跟十位数的积与百位数的比值,
要求保留2位小数。

# //是处去最低位 %看成是去除高位
#先分别求其十位数(S)和百位数(B)
C = float(input("请输入一个三位整数: "))
S = C % 100 // 10 #求出其十位
B = C // 100 #求出其百位
G = C % 10 % 10 #求出其个位print("其个位数是:",G)
print("其十位数是: ",S)
print("其百位数是:", B)

结果:

请输入一个三位整数: 123
其个位数是: 3.0
其十位数是:  2.0
其百位数是: 1.0

3、编写程序,实现温度换算。从键盘输入温度的种类(摄氏度、华氏度、开氏度),输出对应的其他两种温度。计算式同1。

代码:

'''
摄氏度=(华氏度-32)/1.8;
华氏度=摄氏度*1.8+32;
开氏度=摄氏度+273.15。
'''
choice = str(input("请输入您要输入的温度类型:摄氏度:S 华氏度:H 开氏度:K"))
C = float(input("请输入温度: "))if choice == "K":S = C - 273.15H = S * 1.8 + 32print("摄氏度是:", S, "\n 华氏度是: ",H)elif choice == "H":S = (C - 32) / 1.8K = S + 273.15print("摄氏度是: ", S, "开氏度是: ",K)elif choice == "S":K = C + 273.5H = C * 1.8 + 32print("开氏度是: ", K , "华氏度是: ", H)

结果:

请输入您要输入的温度类型:摄氏度:S 华氏度:H 开氏度:KK
请输入温度: 2
摄氏度是: -271.15 
华氏度是:  -456.07

4、编写程序,判断中国合法工作年龄为18至60岁,即小于18的情况为尚未到达合法工龄;如果年龄为18至60岁之间为合法工龄;女性年龄大于55岁为法定退休年龄,男性年龄大于60岁为法定退休年龄。
代码:

age = int(input("请输入您的年龄: "))
sex = str(input("请输入您的性别: "))if (age < 18):print(f'您的年龄是{age},未达到合法工龄!')
elif age >= 18:print(f'你的年龄是{age}')if(age >= 55 and sex == "女"):print("您的性别是女性,可以退休!")elif(age >= 60 and sex == "男"):print("您的性别是男性,可以退休!")else:print(f'您的性别是{sex}, 您已经达到和合法工龄!')

结果:

请输入您的年龄: 21
请输入您的性别: 男
你的年龄是21
您的性别是男, 您已经达到和合法工龄!

5、百钱买百鸡问题——一百个铜钱买了一百只鸡,其中公鸡一只5钱、母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少?

'''百钱买百鸡问题——一百个铜钱买了一百只鸡,其中公鸡一只5钱、
母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少?'''
# T1 = 公鸡 T2 = 母鸡 T3 = 小鸡
money = 100
for T1 in range(1, 20):for T2 in range(1, 33):for T3 in range(1, 100 - T1 - T2 + 1):if(5 * T1 + 3 * T2 + T3 / 3 == 100 and T1 + T2 + T3 == 100):print(f'公鸡有{T1}只, 母鸡有{T2}只, 小鸡有{T3}只')

结果:

公鸡有4只, 母鸡有18只, 小鸡有78只
公鸡有8只, 母鸡有11只, 小鸡有81只
公鸡有12只, 母鸡有4只, 小鸡有84

6、编程找出1000以内的所有完数。一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3,6是完数。

因子定义:
在这里插入图片描述

代码:

for x in range(1, 1000):sum = 0for y in range(1, x):if(x % y == 0):sum += yif(sum == x):print(f'{x}是完数')

运行结果:

6是完数
28是完数
496是完数

7、编写程序,使用while循环输出如下图形

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

r = 1
while r <= 5:c = 1;while c <= r:print("*", end='')c += 1print("")r += 1

运行结果:

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

8、编写程序,使用while…else结构实现:循环5次,输入任意一个整数,判断该整数是否是素数,并输出判断结果。

for i in range(5):num = int(input("请输入一个整数: "))b = 2while (b < num):if(num % b == 0):print(f'{num}不是素数!')breakb += 1else:print("该数是素数!")

运行结果:

请输入一个整数: 3
该数是素数!
请输入一个整数: 5
该数是素数!
请输入一个整数: 6
6不是素数!
请输入一个整数: 78
78不是素数!
请输入一个整数: 90
90不是素数!

9、输入一个字符串。请完成如下任务。
(1)打印第一个字符。
(2)打印最后一个字符。
(3)如果是奇数,打印中间的字符串(len(字符串))。
(4)打印倒数3个字符。
(5)倒序打印字符串。

小贴士:
在这里插入图片描述

Str = str(input("请输入一个字符串: "))
#1
print(f'第一个字符串:{Str[0]}')
#2
print(f'最后一个字符串:{Str[-1]}')
#3
if(len(Str) % 2 == 1):print("长度为基数的字符串中间字符为:",end="")print(Str[((len(Str)-1)//2)])
#4
#切片用法:[起始:结束:步长]
print(f'倒数三个字符: {Str[-3::1]}')

运行结果:

请输入一个字符串: SUSUSUJIANGJIANGJIANG
第一个字符串:S
最后一个字符串:G
长度为基数的字符串中间字符为:G
倒数三个字符: ANG

10、判断字符串是否为回文,例如“上海自来水来自海上”。提示:字符串翻转。

代码:

S = str(input("请输入一个字符串: "))S1 = S[::-1]
if(S == S1):print("该字符串回文!")
else:print("该字符串不回文!")

运行结果:

请输入一个字符串: 121
该字符串回文!

11、输入学生姓名,要求姓名不能重复;如果输入esc,则停止输入,打印每个学生姓名。

sep:元素用什么隔开
end:结尾

代码:

NameList = []
while True:S = str(input("请输入学生姓名:"))if (S == "esc"):breakelif(S in NameList):print("该名字已重复!")else:NameList.append(S)print(NameList, sep=",", end="")

运行结果:

请输入学生姓名:SU
请输入学生姓名:JIANG
请输入学生姓名:esc
['SU', 'JIANG']

12、输入学生成绩,计算总分,最高分,最低分。

ScoreList = []
while True:#输入-1结束程序S = int(input("请输入学生成绩: "))if(S == -1):breakelse:ScoreList.append(S)
print(f'总分:{sum(ScoreList)}  最高分:{max(ScoreList)},  最低分:{min(ScoreList)}')

运行结果:

请输入学生成绩: 76
请输入学生成绩: 85
请输入学生成绩: 93
请输入学生成绩: 88
请输入学生成绩: -1
总分:342  最高分:93,  最低分:76

13、编程实现:用键盘分别输入年、月、日的值,计算这是这一年的第几天,要求每个月的具体天数存放在一个元组里。

'''编程实现:用键盘分别输入年、月、日的值,
计算这是这一年的第几天,要求每个月的具体天数存放在一个元组里。'''
year = int(input("请输入年份: "))
month = int(input("请输入月份: "))
day = int(input("请输入日数: "))DP = [31, 28, 31, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31]#平年
DR = [31, 29, 31, 30, 31, 30, 31, 30, 31, 30, 31, 30, 31]#闰年if((year%400 == 0) or (year%100 != 0)and(year%4 == 0)):#判断闰年语句D = DR
else:D = DPall = 0
for i in range(month - 1):all += D[i]
all += day
print(f'{year}年{month}月{day}号是这一年的第{all}天')

结果:

请输入年份: 2001
请输入月份: 8
请输入日数: 6
200186号是这一年的第218

14、编程实现:用函数dict()把如下两个列表转化为一个字典dict1,要求list1里面的元素为key,list2里面的元素为value。
List1:[‘Fujian’, ‘Anhui’] list2:[ ‘Xiamen’, ‘Hefei’]
然后,针对字典dict1完成以下任务:
(1)把key为’Fujian’对应的value改为’Fuzhou’;
(2)为dict1增加一个元素:‘Zhejiang’:‘Hangzhou’;
(3)打印dict1的所有键值对;
(4)单独打印dict1的所有key;
(5)单独打印dict1的所有value。

List1 = ['Fujian', 'Anhui']
List2 = [ 'Xiamen', 'Hefei']
#1
Dict = dict(zip(List1, List2))
print(Dict)
print()
#2
Dict["Fujian"] = "Fuzhou"
print(Dict['Fujian'])
print()
#3
for item in Dict.items():print(item)
print()
#4
for key in Dict.keys():print(key)
print()
#5
for value in Dict.values():print(value)

运行结果:

{'Fujian': 'Xiamen', 'Anhui': 'Hefei'}Fuzhou('Fujian', 'Fuzhou')
('Anhui', 'Hefei')Fujian
AnhuiFuzhou
Hefei

15、小红去超市购买水果,账单如下:
‘Apple’:32.8
‘Banana’:22
‘Grape’:15.5
编程实现:将上面的数据存储到字典里,用键盘输入水果名称查询购买这个水果的费用,并输出到屏幕,要求如果没有购买这种水果,打印提示信息“没有买”。

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

D = {'Apple':32.8, 'Banana':22, 'Grape':15.5 }
fruitName = input("请输入水果名称: ")
print(D.get(fruitName, "没有买!"))

结果:

请输入水果名称: Apple
32.8

16、
根据上题的dict1编程计算小红购买水果的总金额,小刚也去超市里购买了水果,
有Grape、Orange和Cherry,总金额为89,把小红和小刚购买的水果的名称和总金额存储到一个字典里,
然后在键盘输入一个人的姓名,根据姓名获取这个人购买的水果种类和总费用,若没有这个人的信息,
打印提示信息“***没有买”(***为这个人的姓名)。

D = {'Apple':32.8, 'Banana':22, 'Grape':15.5 }
fruitName = input("请输入水果名称: ")
print(D.get(fruitName, "没有买!"))#下题
all = 0
for key in D.keys():all += D[key]
print(f'总额为{all}')list1 = []
for key in D.keys():list1.append(key)
list2 = ['Grape', 'Orange', 'Cherry']
t1 = tuple(list1)
t2 = tuple(list2)
dict1 = {t1:all}
dict2 = {t2:89}dict3 = {'小红':dict1, '小刚':dict2}#开始查询
name = input("请输入您要查询的姓名: ")
if (name in dict3.keys()):print(dict3.values())
else:print(f'{name}没有买!')

结果
1

请输入水果名称: Apple
32.8
总额为70.3
请输入您要查询的姓名: aaa
aaa没有买!

2

请输入水果名称: 1
没有买!
总额为70.3
请输入您要查询的姓名: 小红
dict_values([{('Apple', 'Banana', 'Grape'): 70.3}, {('Grape', 'Orange', 'Cherry'): 89}])

17、已知:list1:[15,2,6,9,2,58,2],set_a:{25,55,58,9,20},编程实现:
(1)使用set()函数将list1的元素去重,并生成集合set_b,打印查看;
(2)对set_a和set_b分别做交集、并集、差集和对称差集运算,并打印。
(3)使用add()方法往set_a中添加一个元素0(零),使用update()方法往set_a中添加元组(-3,-2,-1)并打印观察。(实际上是添加元组元素,思考:可以用add吗?)
(4)删除set_a中的元素55,随机移除set_a中的某个元素(pop),如果集合set_a中的元素很多,且不确定有没有99这个元素,那么现在要求你删除99,应该怎么处理使程序不报错?
(5)将集合{1000,2000}变为不可修改的集合,并作为一个整体添加到集合set_a中。

list1 = [15,2,6,9,2,58,2]set_a = {25,55,58,9,20}set_b = set(list1)#将list1转化为集合,即可实现去重的目的
#交集
print(set_a & set_b)
#交集
print(set_a | set_b)
#对称差集
print(set_a ^ set_b)set_a.add(0)
set_a.update((-3,-2,-1))#使用add的话就会添加一个元组进去
print(set_a)set_a.remove(55)#移除元素55
set_a.pop()#随机删除元素
set_a.discard(99)#有99这个元素就删除,没有的话也不会报错set_c = frozenset({1000,2000})#更改为不可更改的集合
set_a.add(set_c)
print(set_a)

结果:

{9, 58}
{2, 6, 9, 15, 20, 55, 25, 58}
{2, 20, 6, 55, 25, 15}
{0, 9, 20, -1, 55, 25, 58, -3, -2}
{9, 20, -1, frozenset({1000, 2000}), 25, 58, -3, -2}

18、
编程实现:已知列表list1为[2,5,8,11,14,22],利用列表推导式创建一个新列表list2,要求list2中的元素是由list1中的各个偶数的平方组成。

list1 = [2,5,8,11,14,22]
list2 = [i*i for i in list1]
print(list1)
print(list2)

结果:

[2, 5, 8, 11, 14, 22]
[4, 25, 64, 121, 196, 484]

19、编程实现:从键盘中输入一个字符串,利用元组生成器生成一个字符串每个元素对应的ASCII码值(ord函数)的生成器对象,然后用for循环遍历该生成器对象并输出每个元素的值,最后再将生成器对象转换为元组,打印元组,看看元组里面的内容。
代码:

A = input("请输入一个字符串: ")
B = (ord(i) for i in A)
for j in B:print(j,sep=' ', end='  ')
C = tuple(B)
print(C)

结果:

请输入一个字符串: SRR
83  82  82  ()

20、已知衣服的颜色列表colors为[“black”,“white”],尺寸列表sizes为[“S”,“M”,“L”],利用列表推导式生成一个列表clothes,其元素为颜色和尺寸的所有组合,如(“black”,“L”)等。打印输出列表clothes的所有内容。

colors = ["black", "white"]
sizes = ["S", "M", "L"]
clothes = [(x, y) for x in colors for y in sizes]
print(clothes)
[('black', 'S'), ('black', 'M'), ('black', 'L'), ('white', 'S'), ('white', 'M'), ('white', 'L')]

未完待续(我先去做其他作业了)

21.编程实现:定义一个能够计算斐波那契数列的函数(要求前两项为0和1),并调用它,生成一个包含前20项的列表。

代码:

#斐波那契数列:每一项都等于前两项之和
def F(i):#定义函数if(i < 2):return ielse:return F(i - 1) + F(i - 2)result = [F(a) for a in range(20) ]
print(result)

结果:

[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181]

22、回文数是一个正向和逆向都相同的整数,如123454321、9889。编写函数判断一个整数是否是回文数
代码:

def F(x):s = str(x)a = s[::-1]if (a == s):print("该整数是回文数!")else:print("该整数不是回文数!")
F(12321)
F(12345)

结果:

该整数是回文数!
该整数不是回文数!

这边要注意的是要记得转换为字符类型再进行比较,int类型是不能进行切片操作的

23、编写函数,判断输入的三个数字(浮点数)是否能构成三角形的三条边。

代码:

def triangle(a, b, c):if(a+b>c and a+c>b and b+c>a):print("能组成三角形")else:print("无法组成三角形")
triangle(3, 4, 5)

结果:

能组成三角形

24、
已知列表fw = [2, 18, 9, 22, 17, 24, 8, 12, 27],要求用学过的内置高阶函数filter()和匿名函数lambda编程实现筛选出能被3整除的元素,并转化为列表输出。

代码:

fw = [2, 18, 9, 22, 17, 24, 8, 12, 27]
list1 = list(filter(lambda x:x%3 == 0, fw))
print(list1)

结果:

[18, 9, 24, 12, 27]

先去看视频了,到时候在更新!!

25、题目:含多个参数的表达,可设置一个列表来放多个字符串。要求输出如下:
五一节放假了
有人去逛了马尾船政、三坊七巷、上下杭…
有人去逛了台江万达、宝龙…
有人打了3天篮球,睡了2天觉…
有人宅了5天…

5天假期满满当当
这就是我们的愉快的五一

代码:

def comp(fn):def decor(*args):print("五一节放假了")fn(*args)print("5天假期满满当当")print("这就是我们的愉快的五一")return decor#定义列表
list = ["有人去逛了马尾船政、三坊七巷、上下杭......\n",
"有人去逛了台江万达、宝龙.....\n",
"有人打了3天篮球,睡了2天觉......\n",
"有人宅了5天......"]
@comp
def compA(*args):print(*args)compA(*list)

结果:

五一节放假了
有人去逛了马尾船政、三坊七巷、上下杭......有人去逛了台江万达、宝龙.....有人打了3天篮球,睡了2天觉......有人宅了5......
5天假期满满当当
这就是我们的愉快的五一

26、题目:编程实现:再定义一个装饰器,统计函数运行的时间;
定义一个函数,计算a+b的结果(从键盘输入a,b)输出,
利用装饰器计算这个函数的运行时间。

代码:

import timedef timer(func):def result():start_time = time.time()func()end_time = time.time()result = end_time - start_timeprint("程序的运行时间是:%.2fs" % result)return result@timer
def sum():a = int(input("请输入第一个数字:"))b = int(input("请输入第而个数字:"))print(f'这两个数字的和为:{a + b}')sum()

结果:

请输入第一个数字:8
请输入第而个数字:5
这两个数字的和为:13
程序的运行时间是:4.04s

这篇关于《python练习题在手,期末考试心不抖》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/653537

相关文章

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

dp算法练习题【8】

不同二叉搜索树 96. 不同的二叉搜索树 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1: 输入:n = 3输出:5 示例 2: 输入:n = 1输出:1 class Solution {public int numTrees(int n) {int[] dp = new int

nudepy,一个有趣的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个有趣的 Python 库 - nudepy。 Github地址:https://github.com/hhatto/nude.py 在图像处理和计算机视觉应用中,检测图像中的不适当内容(例如裸露图像)是一个重要的任务。nudepy 是一个基于 Python 的库,专门用于检测图像中的不适当内容。该

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

HTML提交表单给python

python 代码 from flask import Flask, request, render_template, redirect, url_forapp = Flask(__name__)@app.route('/')def form():# 渲染表单页面return render_template('./index.html')@app.route('/submit_form',

Python QT实现A-star寻路算法

目录 1、界面使用方法 2、注意事项 3、补充说明 用Qt5搭建一个图形化测试寻路算法的测试环境。 1、界面使用方法 设定起点: 鼠标左键双击,设定红色的起点。左键双击设定起点,用红色标记。 设定终点: 鼠标右键双击,设定蓝色的终点。右键双击设定终点,用蓝色标记。 设置障碍点: 鼠标左键或者右键按着不放,拖动可以设置黑色的障碍点。按住左键或右键并拖动,设置一系列黑色障碍点

Python:豆瓣电影商业数据分析-爬取全数据【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】

**爬取豆瓣电影信息,分析近年电影行业的发展情况** 本文是完整的数据分析展现,代码有完整版,包含豆瓣电影爬取的具体方式【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】   最近MBA在学习《商业数据分析》,大实训作业给了数据要进行数据分析,所以先拿豆瓣电影练练手,网络上爬取豆瓣电影TOP250较多,但对于豆瓣电影全数据的爬取教程很少,所以我自己做一版。 目