当前位置: 首页 > news >正文

python练习题(markdown中的60道题)

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 timeprint (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 mathn,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 randomnum = 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 matha, 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 matha, 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 = dayprint(day1)elif month == 2:day1 = 31 + dayprint(day1)elif month == 3:day1 = 31 + 28 + dayprint(day1)elif month == 4:day1 = 31 + 28 + 31 + dayprint(day1)elif month == 5:day1 = 31 + 28 + 31 + 30 + dayprint(day1)elif month == 6:day1 = 31 + 28 + 31 + 30 + 31 + dayprint(day1)elif month == 7:day1 = 31 + 28 + 31 + 30 + 31 + 30 + dayprint(day1)elif month == 8:day1 = 31 + 28 + 31 + 30 + 31 + 30 + 31 + dayprint(day1)elif month == 9:day1 = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + dayprint(day1)elif month == 10:day1 = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + dayprint(day1)elif month == 11:day1 = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + dayprint(day1)elif month == 12:day1 =31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + dayprint(day1)
else:if month == 1:day1 = dayprint(day1)elif month == 2:day1 = 31 + dayprint(day1)elif month == 3:day1 = 31 + 29 + dayprint(day1)elif month == 4:day1 = 31 + 29 + 31 + dayprint(day1)elif month== 5:day1 = 31 + 29 + 31 + 30 + dayprint(day1)elif month == 6:day1 = 31 + 29 + 31 + 30 + 31 + dayprint(day1)elif month== 7:day1 = 31 + 29 + 31 + 30 + 31 + 30 + dayprint(day1)elif month == 8:day1 = 31 + 29 + 31 + 30 + 31 + 30 + 31 + dayprint(day1)elif month == 9:day1 = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + dayprint(day1)elif month == 10:day1 = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + dayprint(day1)elif month == 11:day1 = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + dayprint(day1)elif month == 12:day1 = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + dayprint(day1)

 结果:

21 剪刀石头布

import randoma = 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 + cprint(perimeter)
else:print("error!")

 结果: 

 23.一周的星期几

 

相关文章:

  • CSS新手入门笔记整理:CSS基本介绍
  • NSAttributedString设置折行方式NSLineBreakByTruncatingTail,计算高度出错,高度返回异常。
  • 日本服务器访问速度和带宽有没有直接关系?
  • 多级嵌套vue同步调用用法
  • 【点云surface】 凹包重构
  • seccomp学习 (3)
  • Navicat 技术指引 | 适用于 GaussDB 的备份与还原功能
  • CDA一级备考思维导图
  • 解密人工智能:线性回归 | 逻辑回归 | SVM
  • Kafka-Consumer
  • hdlbits系列verilog解答(exams/m2014_q4i)-45
  • 大模型训练效率提升至2.6倍,腾讯Angel机器学习框架升级
  • ElasticSearch之配置
  • 怎样提升伦敦银买卖技巧?
  • webshell之内置函数免杀
  • 《剑指offer》分解让复杂问题更简单
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • codis proxy处理流程
  • Docker 笔记(2):Dockerfile
  • ES6核心特性
  • ES6语法详解(一)
  • JS函数式编程 数组部分风格 ES6版
  • Median of Two Sorted Arrays
  • MYSQL 的 IF 函数
  • python 装饰器(一)
  • redis学习笔记(三):列表、集合、有序集合
  • Swoft 源码剖析 - 代码自动更新机制
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 测试开发系类之接口自动化测试
  • 好的网址,关于.net 4.0 ,vs 2010
  • 坑!为什么View.startAnimation不起作用?
  • 前端
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 项目实战-Api的解决方案
  • 小李飞刀:SQL题目刷起来!
  • 小试R空间处理新库sf
  • 异步
  • Nginx实现动静分离
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 第二十章:异步和文件I/O.(二十三)
  • 关于Android全面屏虚拟导航栏的适配总结
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (一)基于IDEA的JAVA基础1
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程