python练习题(markdown中的60道题)
2023-12-13 05:02:59
1.Demo01 摄氏温度转化为华氏温度
celsius = float(input('输入摄氏温度:'))
fahrenheit = (9/5)*celsius + 32
print('%0.1f 摄氏温度转为华氏温度为 %0.1f' % (celsius, fahrenheit))
结果:?
2.Demo02 计算圆柱体的体积
h, r =map(float, input().split())
# 计算圆柱的底面积和体积
area = 3.14 * r * r
volume = area * h
# 输出结果
print("%.2f"%area)
print("%.2f"% volume)
注意:map()函数是Python中的一个内置函数,它的功能是:将指定的函数,依次作用于可迭代对象的每个元素,并返回一个迭代器对象。这个可迭代对象,可以是一个也可以是多个。
A. map()函数实例
案例1:可迭代对象传递给map()函数,然后map()函数将这个可迭代对象传入自定义函数。
#自定义一个函数a,返回x*2的值 def a(x): return x*2 #定义列表 lis1=[1,3,5,7,9] #对列表中的每个数运用函数a,返回迭代器 lis1_a=map(a,lis1) #输出迭代器中的值 for num in lis1_a: print(num) #输出结果 ''' 2 6 10 14 18 '''
案例2:可迭代对象传递给map()函数,然后map()函数将这个可迭代对象进行数据类型转换。
#定义一个列表a a = ['1','2','3'] #将列表中的每个字符串,转换成浮点型,并返回迭代器 b = map(float,a) #输出迭代器中的值 for num in b: print(num) #输出结果 ''' 1.0 2.0 3.0 '''
????????第二题用的就是案例2里面的map()函数;
案例3:多个可迭代对象传递给map()函数,然后map()函数将这2个迭代对象传入自定义函数a()。注意:这个自定义函数a()的参数个数,要与传入的可迭代对象数量一致。
# 定义一个函数 # 该函数采用2参数 def a(x,y): return x * y # 定义列表1 lis1 = [1, 3, 5, 7, 9] # 定义列表2 lis2 = [2, 4, 6, 8, 10] # 将两个列表中的值,传入函数a,并返回可迭代器 lis_a = map(a, lis1, lis2) #输出迭代器中的值 for num in lis_a: print(num) #输出结果 ''' 2 12 30 56 90 '''
结果:?
3.Demo03 将英尺数转换为米数
feet = eval(input("Enter a value for feet:"))
meters=feet*0.305
print(feet,"feet is",meters,"meters")
结果:
4.?计算小费
tip, rate = eval(input("enter the tip and a rate:"))
rate = tip * rate / 100
total = rate + tip
print("The rate is", rate, "and the total is", total)
结果:
5.对一个整数中的各位数字求和
num = eval(input("enter a number between 0 and 1000:"))
gewei = num % 10
baiwei = num // 100
shiwei =(num - baiwei*100) // 10
print("the sum of the digits is", int(gewei+baiwei+shiwei))
?结果:
?6.计算年数和天数
minute = int(input("enter a number of minute:"))
year = minute // (24*365*60)
day = minute % (24*60*365) // (24*60)
print("the year is", year)
print("the day is", day)
结果:
?7.计算能量
M = float(input("enter a number:"))
initialTemperature = float(input("enter a number:"))
finalTemperature = float(input("enter a number:"))
Q = M * (finalTemperature - initialTemperature) * 4184
print(f"the Q is", Q)
?结果:
8.分割数字
num =input("please enter a number:")
for i in range(len(num) - 1, -1, -1):
# print(num[i],end = "\n")
print(num[i])
注意:len()函数只能用于可以迭代的对象;例如:列表list,元组tuple,字符串str,等;不能用于整数、浮点数等其他类型!
结果:
?9.计算三角形的面积
import math
x1, y1, x2, y2, x3, y3 = map(float,input("输入:\n").split())
first = math.sqrt((x1 - x2)**2 + (y1 - y2)**2)
second = math.sqrt((x1 - x3)**2 + (y1 - y3)**2)
third = math.sqrt((x2 - x3)**2 + (y2 - y3)**2)
s = (first + second + third) / 2
area = float(math.sqrt(s*(s - first)*(s - second)*(s - third)))
print("%.1f"%area)
结果:
10.显示当前时间
import time
print (time.strftime("%Y-%M-%d %A %X %Z",time.localtime(time.time())))
结果:
?
11.计算三角形的三个角
import math
x1, y1, x2, y2, x3, y3 = map(float,input("输入:").split())
a = math.sqrt((x1 - x2)**2 + (y1 - y2)**2)
b = math.sqrt((x1 - x3)**2 + (y1 - y3)**2)
c = math.sqrt((x2 - x3)**2 + (y2 - y3)**2)
A = math.degrees(math.acos((a*a - b*b - c*c)/(-2*b*c)))
B = math.degrees(math.acos((b*b-a*a-c*c)/(-2*a*c)))
C = math.degrees(math.acos((c*c-b*b-a*a)/(-2*a*b)))
print("%.2f"%A)
print("%.2f"%B)
print("%.2f"%C)
注意:math.degrees()函数是将弧度转换为角度;
结果:
?12.最小数量的硬币
money = float(input("请输入总金额:"))
a = money // 1
b = (money - a*1) // 0.25
c = (money - a*1 - b*0.25) // 0.1
d = (money - a*1 - b*0.25 - c*0.1) // 0.05
e = (money - a*1 - b*0.25 - c*0.1 - d*0.05) // 0.01
print("%d个硬币"%a)
print("%d个硬币"%b)
print("%d个硬币"%c)
print("%d个硬币"%d)
print("%d个硬币"%e)
?结果:
?13.正多边形的面积
import math
n,s = map(float,input("请输入长和宽:").split())
area = (n * s * s) / (4 * math.tan(math.pi/n))
print("%.2f"%area)
结果:?
?14.计算身体质量指数
height = float(input("请输入身高:"))
weight = float(input("请输入体重: "))
BMI = weight/(height*height)
if BMI < 18.5:
print("过轻!")
elif 18.5 <= BMI <24:
print("正常!")
elif 24 <= BMI <27:
print("过重!")
elif 27 <= BMI < 30:
print("中度肥胖!")
elif 30 <= BMI < 35:
print("中度肥胖!")
elif BMI >=35:
print("重度肥胖!")
?结果:
?15.判定闰年
year=int(input("请输入年份:"))
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
print("该年为闰年")
else:
print("该年是平年")
结果:
?16.中彩票
import random
num = random.randint(10,100)
a = int(input("请输入一个两位数:"))
a1 = num // 10 % 10
a2 = num % 10
#是代表num随机数中的第一位和第二位!
first = a // 10 % 10
second = a % 10
print(num)
if a == num:
print("你太幸运了,奖励你10000!")
elif a1 == second and a2 == first:
print("你也不错!奖励你3000!")
elif a1 == second or a2 == first or a1 == first or a2 == second:
print("还不错!奖励你1000!")
elif a1 != second and a2 != first:
print("你与奖励擦肩而过!奖励你0元!")
17.解一元二次方程
import math
a, b, c = map(float,input("请输入三个值:").split())
r1 = (-b + math.sqrt(b * b - 4 * a * c)) / (2 * a)
r2 = (-b - math.sqrt(b * b - 4 * a * c)) / (2 * a)
if b * b - 4 * a *c > 0:
print("%.2f"%r1)
print("%.2f"%r2)
elif b * b - 4 * a * c == 0:
print("%.2f"%r1)
elif b * b - 4 * a * c < 0:
print("无实数解!")
结果:
?18.解2×2线程方程
import math
a, b, c, d, e, f = map(float,input("请输入三个值:").split())
x = (e * d - b * f) / (a * d - b * c)
y = (a * f - e * c) / (a * d - b * c)
a * x + b * y == e
c * x + d * y == f
if a * d - b * c == 0:
print("无解")
else:
print(x)
print(y)
19.?未来是周几
a, b= map(int,input("请输入今天星期几和你想要计算的日子:").split())
if a + b % 7 == 1:
print("星期一")
elif a + b % 7 == 2:
print("星期二")
elif a + b % 7 == 3:
print("星期三")
elif a + b % 7 == 4:
print("星期四")
elif a + b % 7 == 5:
print("星期五")
elif a + b % 7 == 6:
print("星期六")
elif a + b % 7 == 0:
print("星期天")
结果:
?20.本年中的第几天
year, month, day = map(int,input("输入年月日:").split())
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
if month == 1:
day1 = day
print(day1)
elif month == 2:
day1 = 31 + day
print(day1)
elif month == 3:
day1 = 31 + 28 + day
print(day1)
elif month == 4:
day1 = 31 + 28 + 31 + day
print(day1)
elif month == 5:
day1 = 31 + 28 + 31 + 30 + day
print(day1)
elif month == 6:
day1 = 31 + 28 + 31 + 30 + 31 + day
print(day1)
elif month == 7:
day1 = 31 + 28 + 31 + 30 + 31 + 30 + day
print(day1)
elif month == 8:
day1 = 31 + 28 + 31 + 30 + 31 + 30 + 31 + day
print(day1)
elif month == 9:
day1 = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + day
print(day1)
elif month == 10:
day1 = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + day
print(day1)
elif month == 11:
day1 = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + day
print(day1)
elif month == 12:
day1 =31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + day
print(day1)
else:
if month == 1:
day1 = day
print(day1)
elif month == 2:
day1 = 31 + day
print(day1)
elif month == 3:
day1 = 31 + 29 + day
print(day1)
elif month == 4:
day1 = 31 + 29 + 31 + day
print(day1)
elif month== 5:
day1 = 31 + 29 + 31 + 30 + day
print(day1)
elif month == 6:
day1 = 31 + 29 + 31 + 30 + 31 + day
print(day1)
elif month== 7:
day1 = 31 + 29 + 31 + 30 + 31 + 30 + day
print(day1)
elif month == 8:
day1 = 31 + 29 + 31 + 30 + 31 + 30 + 31 + day
print(day1)
elif month == 9:
day1 = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + day
print(day1)
elif month == 10:
day1 = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + day
print(day1)
elif month == 11:
day1 = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + day
print(day1)
elif month == 12:
day1 = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + day
print(day1)
?结果:
21 剪刀石头布
import random
a = random.randint(0,2)
b = int(input("请输入0-2之间的整数(0代表剪刀,1代表石头,2代表步):"))
print(a)
if b > 2 or b < 0:
print("请正确输入!")
elif (a == 0 and b == 1) or (a == 1 and b == 2) or (a == 2 and b == 0):
print("姐妹真棒哦!")
elif a == b:
print("打平")
else:
print("啊偶输掉啦!没关系的,我们可以再试试!")
结果:?
22.三角形的周长
a, b, c = map(int,input("请输入三边的长度:").split())
if a + b > c and a + c > b and b + c > a:
perimeter = a + b + c
print(perimeter)
else:
print("error!")
?结果:?
?23.一周的星期几
?
文章来源:https://blog.csdn.net/m0_74543941/article/details/134491632
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!