语法基础
1:输入一个摄氏温度的值,将它转变为华氏温度,并将结果输出
celsius = float (input("请输入一个摄氏度温度:"))
fahrenheit = 32 + celsius * 1.8
print("转换后的华氏温度为:",fahrenheit)
#2:输入圆柱的半径和高,并利用如下公式计算圆柱体的底面积和体积。
radius = float (input("请输入圆柱的半径:"))
length = float (input("请输入圆柱的高:"))
import math
pi=math.pi
print("底面积area为%.2f"%(math.pi*radius*radius))
print("体积volume为:%.2f"%(math.pi*radius*radius*length))
#3:输入英尺数然后将它转换为米数,并输出结果,一英尺等于0.305米
#3:输入英尺数然后将它转换为米数,并输出结果,一英尺等于0.305米
yinchi = float(input("请输入英尺数:"))
print("米数为:%.4f"%(yinchi*0.305))
#4:读取小计和酬金率,然后计算小费以及合计金额。
#4:读取小计和酬金率,然后计算小费以及合计金额。
# 例如客户的小计为10元,酬金率为15%,那么小费是1.5元,合计金额为11.5元
print("输入:")
num1, num2= input().split()#num1为小计,酬金率=num2 / 100
print("输出:")
print("%.2f"%(float(num1) * float(num2) / 100))
print("%.2f"%(float(num1) + float(num1) * float(num2) / 100))
5:对一个整数中的各位数字求和
a = int(input('请输入一个0到1000之间的整数:'))
b =a//100+a%100//10+a%10
print('该数字各位数字之和为:',b)
6:输入分钟数,然后将该分钟数转换为年数和天数,假定一年有365天
a=int(input("输入分钟数"))
b=24*60
age=a//(b*365)
day=a%(b*365)//b
print("%d年%d天"%(age,day))
7:水从初始温度加热到最终温度是需要能量的,请计算需要多少能量
water = float(input("请输入需要加热的水量:"))
initialTemperature=float(input("请输入加热前的水量:"))
finalTemperature = float(input("请输入要加热到的最终温度:"))
Q = water * (finalTemperature - initialTemperature) * 4184
print("加热到%s度需要%.1f焦耳的热量"%(finalTemperature,Q))
8:输入一个四位整数,并以反向顺序显示
num = int (input("请输入一个四位数:"))
print(num%10)
print(int(num/10%10))
print(int(num/100%10))
print(int(num/1000))
9:计算三角形的面积
import math
x1,y1,x2,y2,x3,y3=map(float,input("请输入三角形的顶点坐标,用空格隔开:").split())
side1 = math.sqrt((y1-y2)**2+(x1-x2)**2)
side2 = math.sqrt((x2-x3)**2+(y2-y3)**2)
side3 = math.sqrt((x1-x3)**2+(y1-y3)**2)
s=(side1+side2+side3)/2
area = math.sqrt(s*(s-side1)*(s-side2)*(s-side3))
print("面积是%.1f"%area)
10: 输入你所在的时区,并输出当前的时间
11:输入三角形的三个顶点坐标,并计算该三角形的三个角分别是多少(角度制)
# 输入三角形的三个顶点坐标,并计算该三角形的三个角分别是多少
import math
x1,y1,x2,y2,x3,y3=map(float,input("请输入顶点坐标,用空格隔开:").split())
# 计算三条边长
side1 = math.sqrt( (x1-x2)**2+(y1-y2)**2)
side2 = math.sqrt((x2-x3)**2+(y2-y3)**2)
side3 = math.sqrt((x1-x3)**2+(y1-y3)**2)
# 公式计算(弧度制)
cont1=math.acos((side1**2-side2**2-side3**2)/(-2*side2*side3))
cont2=math.acos((side2**2-side1**2-side3**2)/(-2*side1*side3))
cont3=math.acos((side3**2-side2**2-side1**2)/(-2*side1*side2))
# 将弧度制转化为角度制
angle_1=math.degrees(cont1)
angle_2=math.degrees(cont2)
angle_3=math.degrees(cont3)
print("%.2f\n%.2f\n%.2f\n"%(angle_1,angle_2,angle_3))
12:最小数量的硬币
假设硬币种类分为:一元硬币、两角五分硬币、一角硬币、五分硬币、一分硬币输入总金额,并将总金额兑换成若干个硬币,并保证所兑换的硬币个数最少
money = float(input("请输入金额:"))
# 计算一元硬币
yuan = int(money)
print("有%s个一元硬币"%yuan)
# 计算剩下的钱
last = money - yuan
# 计算两角五分的硬币
money2_5 = (last)/0.25
print("有%s个两角五分的硬币"%int(money2_5))
# 更新剩下的钱
last = last - 0.25*int(money2_5)
# 计算一角硬币个数
money1 = last/0.1
print("有%s个一角硬币"%int(money1))
# 再次更新余额
last = last - int(money1)*0.1
# 计算五分硬币个数
money_5 = last/0.05
print("有%s个五分硬币"%int(money_5))
# 更新余额
last= last - int(money_5)*0.05
# 计算一分硬币
money_1 = last/0.01
print("有%s个一分硬币"%int(money_1))
13:正多边形的面积
import math
π = 3.14
side, lengs = map(float,input("请输入边的个数和长度用空格隔开:").split())
area = (side * lengs**2) / (4 * math.tan(π/side))
print("面积是%.2f"%area)
14:计算身体质量指数BMI
weight ,high = map(int,input("输入体重和身高,数据之间用空格分隔:").split())
# 体重除以以米为单位的身高的平方
BMI = weight/(high**2)
if BMI<18.5:
print("超轻")
elif BMI<25.0:
print("标准")
elif BMI<30.0:
print("超重")
elif BMI>=30.0:
print("肥胖")
else:
print("输入不合法,重新输入")
15:判定闰年
一个年份如果能被4整除但不能被100整除,或者能被400整除,那么这个年份就是闰年
year = int (input("请输入一个年份"))
if year <0:
print("输入错误,年份为正整数")
elif year%400==0 and year %4==0:
print("这是一个闰年")
else:
print("这是平年")
16:中彩票
随机产生一个两位数数字,然后用户输入一个两位数数字,并根据以下规则判定用户赢得的奖金是多少
(1)输入的数字和随机产生的数字完全相同(包括顺序),奖金为10000元
(2)输入的数字和随机产生的数字相同(不包括顺序),奖金为3000元
(3)输入的数字和随机产生的数字有一位数相同,奖金为1000美元
(4)输入的数字和随机产生的数字都不相同,没有奖金,0元
import random
input_num = int (input("输入:"))
input_str = str(input_num)
random_num = random.randint(10,99)
random_str = str(random_num)
print(random_num)
if input_num ==random_num:
print("10000")
elif random_str[0] == input_str[1] and random_str[1] == input_str[0]:
print("3000")
elif (random_str[0] == input_str[0] or random_str[0] == input_str[1])or(random_str[1] == input_str[0] or random_str[1] == input_str[1]) :
print("1000")
else:
print("0")
17:解一元二次方程
# 解一元二次方程
# ax^2+bx+c=0
import math
a,b,c = map(float,input("输入:").split())
if a==0:
print("输入不合法")
elif b**2-4*a*c>0:
# round(number[, ndigits])----四舍五入保留ndigits位小数
print( round((-b+math.sqrt(b**2-4*a*c))/(2*a),2))
print( round((-b-math.sqrt(b**2-4*a*c))/(2*a),2))
elif b**2-4*a*c==0:
print(round((-b)/(2*a),2))
elif b**2-4*a*c<0:
print("无实数解")
18:解2×2线程方程
a,b,c,d,e,f = map(float,input("输入:").split())
# 前提:(ad - bc)不等于0
# x = (ed - bf) / (ad - bc)
# y = (af - ec) / (ad - bc)
if (a*d - b*c) ==0:
print("无解")
else:
x = (e*d - b*f) / (a*d - b*c)
y = (a*f - e*c) / (a*d - b*c)
print(x,y)
19:未来是周几
week ,future_day = map(int ,input("输入:").split())
day = (week+future_day)%7
if day == 0:
print("星期天")
if day == 1:
print("星期一")
if day == 2:
print("星期二")
if day == 3:
print("星期三")
if day == 4:
print("星期四")
if day == 5:
print("星期五")
if day == 6:
print("星期六")
20:本年中的第几天
year,month,day = map(int,input("输入").split())
# 定义每月的天数表
month_day =[0,31,28,31,30,31,30,31,31,30,31,30,31]
# 判断闰年,并对二月进行加一操作
if (year %4 ==0 and year%100 ==0) or year%400 == 0:
month_day[2] += 1
for i in range(0 , month):
day += month_day[i]
print(day)
21:剪刀石头布
import random
choices = ['石头', '布', '剪刀']
print('石头剪刀布')
player = input('你要出石头呢,还是剪刀呢,还是布?')
friend = random.choice(choices)
print((((('你出了' + player) + ',朋友出了') + friend) ))
if (player == friend):
print('平局!')
elif (player == '石头'):
if (friend == '剪刀'):
print('你赢了!')
else:
print('朋友赢了!')
elif (player == '布'):
if (friend == '石头'):
print('你赢了')
else:
print('朋友赢了!')
elif (player == '剪刀'):
if (friend == '布'):
print('你赢了')
else:
print('朋友赢了!')
else:
print('出错了哦!只能出“石头”“剪刀”或“布”!')
22:三角形的周长
side1,side2,side3 = map(int,input("输入:").split())
if side1+side2>side3 and side1+side3>side2 and side2+side3>side1:
print(side1+side2+side3)
else:
print("非法")
23:一周的星期几
year,month,day = map(int,input("输入:").split())
if month ==1 or month == 2:
year-=1
month+=12
h =int((day+26*(month+1)//10+year%100+year%100//4+year/100//4+5*year/100)%7)
if h == 0:
print("星期六")
elif h == 1:
print("星期天")
elif h == 2:
print("星期一")
elif h == 3:
print("星期二")
elif h == 4:
print("星期三")
elif h == 5:
print("星期四")
elif h == 6:
print("星期五")
24:直线的交点
x1, y1 = map(float, input("请输入第一个顶点的坐标,以空格分隔:").split())
x2, y2 = map(float, input("请输入第二个顶点的坐标,以空格分隔:").split())
x3, y3 = map(float, input("请输入第三个顶点的坐标,以空格分隔:").split())
x4, y4 = map(float, input("请输入第三个顶点的坐标,以空格分隔:").split())
try:
x = ( (x3-x4) * ( (y1 - y2)*x1 - (x1 - x2)*y1 ) - (x1 - x2) * ( (y3 - y4)*x3 - (x3 - x4)*y3 ) ) / ( (y1 - y2)*(x3 - x4) - (y3 - y4)*(x1 - x2) )
y = ( (y3-y4) * ( (y1 - y2)*x1 - (x1 - x2)*y1 ) - (y1 - y2) * ( (y3 - y4)*x3 - (x3 - x4)*y3 ) ) / ( (y1 - y2)*(x3 - x4) - (y3 - y4)*(x1 - x2) )
except ZeroDivisionError:
print("两直线平行")
else:
print("直线的交点是:(",x,",",y,")")
25:回文数
num = int (input("输入:"))
tem =num
change_num =0
while num >0:
change_num *= 10
change_num += num%10
num //= 10
if tem == change_num:
print("yes")
else:
print("no")
26:两个矩形
x1,y1,winth1,high1 = map(float ,input("输入").split())
x2,y2,winth2,high2 = map(float ,input("输入").split())
level =abs(x1-x2)
vertical = abs(y1-y2)
# 判断:
if level < (winth1+winth2)/2 and vertical<(high1+high2)/2:
print("包含")
elif level<abs(winth1-winth2) and vertical<abs(high1-high2):
print("重叠")
else:
print("相离")