python基础:判断分支语句的数学运用

例1:题目,代码,及简单解释

在这里插入图片描述
代码

set1 = '''1, 3, 5, 7
9, 11,13,15
17,19,21,23
25,27,29,31
'''
set2 = '''2, 3, 6, 7
10, 11,14,15
18,19,22,23
26,27,30,31
'''
set3 = '''4, 5, 6, 7
12, 13,14,15
20,21,22,23
28,29,30,31
'''
set4 = '''8, 9, 10, 11
12, 13,14,15
24,25,26,27
28,29,30,31
'''
set5 = '''16, 17, 18, 19
20, 21,22,23
24,25,26,27
28,29,30,31
'''
print('下面所有数中有你的生日那一天吗,有就按1回车,没有按2回车')
print(set1)
a = int(input('输入数字1或者2:'))
sum1 = 0
if a == 1:
	sum1 = sum1 + int(set1[0])
	print('11   ',sum1)
elif a == 2:
	pass
else:
	print('输入错误,重新运行输入!!')
	quit()
print('*'*30)

print('下面所有数中有你的生日那一天吗,有就按1回车,没有按2回车')
print(set2)
a = int(input('输入数字1或者2:'))
if a == 1:
	sum1 = sum1 + int(set2[0])
elif a == 2:
	pass
else:
	print('输入错误,重新运行输入!!')
	quit()
print('*'*30)

print('下面所有数中有你的生日那一天吗,有就按1回车,没有按2回车')
print(set3)
a = int(input('输入数字1或者2:'))
if a == 1:
	sum1 = sum1 + int(set3[0])
elif a == 2:
	pass
else:
	print('输入错误,重新运行输入!!')
	quit()

print('*'*30)
print('下面所有数中有你的生日那一天吗,有就按1回车,没有按2回车')
print(set4)
a = int(input('输入数字1或者2:'))
if a == 1:
	sum1 = sum1 + int(set4[0])
elif a == 2:
	pass
else:
	print('输入错误,重新运行输入!!')
	quit()


print('*'*30)
print('下面所有数中有你的生日那一天吗,有就按1回车,没有按2回车')
print(set5)
a = int(input('输入数字1或者2:'))
if a == 1:
	sum1 = sum1 + int(set5[0]+set5[1])
elif a == 2:
	pass
else:
	print('输入错误,重新运行输入!!')
	quit()
print('*'*30)
print('你的生日那天是',sum1,'号')

运行结果:

D:\Desktop\云计算学习笔记\python>py 练习题2.py
下面所有数中有你的生日那一天吗,有就按1回车,没有按2回车
1, 3, 5, 7
9, 11,13,15
17,19,21,23
25,27,29,31

输入数字1或者2:1
11    1
******************************
下面所有数中有你的生日那一天吗,有就按1回车,没有按2回车
2, 3, 6, 7
10, 11,14,15
18,19,22,23
26,27,30,31

输入数字1或者2:1
******************************
下面所有数中有你的生日那一天吗,有就按1回车,没有按2回车
4, 5, 6, 7
12, 13,14,15
20,21,22,23
28,29,30,31

输入数字1或者2:1
******************************
下面所有数中有你的生日那一天吗,有就按1回车,没有按2回车
8, 9, 10, 11
12, 13,14,15
24,25,26,27
28,29,30,31

输入数字1或者2:2
******************************
下面所有数中有你的生日那一天吗,有就按1回车,没有按2回车
16, 17, 18, 19
20, 21,22,23
24,25,26,27
28,29,30,31

输入数字1或者2:1
******************************
你的生日那天是 23 号

代码解释:

由于是用的判断语句来写这个题,所以重复代码较多。如果将判断的定义在函数里面就会剪短很多代码
“”“ ”“” 三个引号里面的内容可以原样输出
本人生日是23日,根据提示最后得出结果是23

例2:题目,代码,及简单解释

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

w,h = eval(input('输入你的体重(磅)和你的身高(英寸),用逗号隔开:'))
bim = (w*0.453)/(h*0.0254)**2
if bim < 18.5:
	print('超轻')
elif bim >= 18.5 and bim < 25.0:
	print('标准')
elif bim >= 25.0 and bim < 30.0:
	print('超重')
else:
	print('太肥了')

运行结果

D:\Desktop\云计算学习笔记\python>py 练习题2.py
输入你的体重(磅)和你的身高(英寸),用逗号隔开:150,30
太肥了

解释:

eval()方法可以方便同时输入多个变量,逗号隔开
其他不用说了吧

例3:题目,代码,及简单解释

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

y = int(input('输入年份:'))
if y % 4 == 0 and y % 100 != 0 or y % 400 ==0:
	print(y,'年是闰年')
else:
	print(y,'年是平年')

结果:

D:\Desktop\云计算学习笔记\python>py 练习题2.py
输入年份:2020
2020 年是闰年

解释:

不用解释吧,简单

例4:题目,代码,及简单解释

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

import random
one = input('输入你要买的一个两位数的数:')
ran = random.randint(10,99)
# print(type(ran))
ran1 = str(ran)
print('开奖的结果是:',ran,'号数字')
if one == ran1:
	print('你买的号码是%s'%(one),'中奖号码是%s'%(ran),'数字一样,恭喜你获得一等奖:10000$')
elif one[0] == ran1[1] or one[1] == ran1[0]:
	print('你买的号码是%s'%(one),'中奖号码是%s'%(ran),'数字一样,顺序不同,恭喜你获得二等奖:3000$')
elif one[0] == ran1[1] or one[0] == ran1[0] or one[1] == ran1[0] or one[1] == ran1[1]:
	print('你买的号码是%s'%(one),'中奖号码是%s'%(ran),'数字有一个一样,恭喜你获得三等奖:1000$')
else:
	print('你买的号码是%s'%(one),'中奖号码是%s'%(ran),'数字不一样,抱歉你没有获奖')

运行结果:

D:\Desktop\云计算学习笔记\python>py 练习题2.py
输入你要买的一个两位数的数:55
开奖的结果是: 14 号数字
你买的号码是55 中奖号码是14 数字不一样,抱歉你没有获奖

D:\Desktop\云计算学习笔记\python>py 练习题2.py
输入你要买的一个两位数的数:64
开奖的结果是: 43 号数字
你买的号码是64 中奖号码是43 数字一样,顺序不同,恭喜你获得二等奖:3000$

D:\Desktop\云计算学习笔记\python>py 练习题2.py
输入你要买的一个两位数的数:87
开奖的结果是: 92 号数字
你买的号码是87 中奖号码是92 数字不一样,抱歉你没有获奖

解释:

random是内置的产生随机数的模块

例5:题目,代码,及简单解释

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

r1 = (-b+math.sqrt(((b*b)-(4*a*c))))/2*a
r2 = (-b-math.sqrt(((b*b)-(4*a*c))))/2*a
panbie = (b*b)-(a*4*c)
if panbie > 0:
	print('有2个跟,为%d和%d'%(r1,r2))
elif panbie == 0:
	print('有1个跟,为%d'%(r1))
else:
	print('没有根')

结果

D:\Desktop\云计算学习笔记\python>py 练习题2.py
输入a,b,c的值,逗号隔开:1,3,1
有2个跟,为0和-2

例6:题目,代码,及简单解释

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

a = int(input('输入一个数:'))
if a % 5 == 0 and a % 6 == 0:
	print('%a能被5和6同时整除'%(a))
elif a % 5 == 0 or a % 6 == 0:
	print('%a只能被5或6整除'%(a))
elif a % 5 != 0 and a % 6 != 0:
	print('%a不能被5和6整除'%(a))

结果:

D:\Desktop\云计算学习笔记\python>py 练习题2.py
输入一个数:5
5只能被5或6整除

例7:题目,代码,及简单解释

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

import random
a = int(random.randint(0,2))
b = int(input('输入数字(0-2):'))
if a == b:
	print('电脑为%d,你是%d,平局'%(a,b))
elif a == 0 and b == 1 or a ==1 and b == 2 or a==2 and b==0:
	print('电脑为%d,你是%d,你赢了'%(a,b))
else:
	print('电脑为%d,你是%d,你输了'%(a,b))

结果

D:\Desktop\云计算学习笔记\python>py 练习题2.py
输入数字(0-2):1
电脑为1,你是1,平局

例8:题目,代码,及简单解释

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

hui = float(input('输入美元和人民币的汇率:'))
a = int(input('输入0 美元--->人民币  输入1 人民币--->美元'))

if a == 0:
	yuan = float(input('输入美元数:'))
	print('%d美刀有人民币:%.2f'%(yuan,yuan*hui))
elif a == 1:
	yuan = float(input('输入人民币数:'))
	print('%d人民币有美刀:%.2f'%(yuan,yuan/hui))

结果

D:\Desktop\云计算学习笔记\python>py 练习题2.py
输入美元和人民币的汇率:6.81
输入0 美元--->人民币  输入1 人民币--->美元0
输入美元数:100
100美刀有人民币:681.00

例9:题目,代码,及简单解释

在这里插入图片描述
代码

a,b,c = eval(input('输入三角形三条边'))
if a + b <= c or a + c <= b or b + c <= a:
	print('不满足构成三角形的条件')
else:
	print('周长是:%d'%(a+b+c))

结果

D:\Desktop\云计算学习笔记\python>py 练习题2.py
输入三角形三条边1,1,1
周长是:3

例10:题目,代码,及简单解释

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

year,m,q = eval(input('依次输入年月日:'))
j = year/100
k = year % 100
h = (q + (26*(m+1)/10) + k + (k/4) +(j/4) + 5*j)%7
print('%d年%d月%d日是星期:%d'%(year,m,q,h))

结果

D:\Desktop\云计算学习笔记\python>py 练习题2.py
依次输入年月日:2013,1,25
2013125日是星期:5

D:\Desktop\云计算学习笔记\python>py 练习题2.py
依次输入年月日:2013,1,26
2013126日是星期:6

例11:题目,代码,及简单解释

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

import math
x1,y1 = eval(input('输入一个坐标:'))
x2 = 0
y2 = 0
juli = math.sqrt(((x2 - x1)**2) + ((y2 - y1)**2))
if juli <= 10:
	print('在圆内')
else:
	print('没有在圆内')

结果

D:\Desktop\云计算学习笔记\python>py 练习题2.py
输入一个坐标:3,5
在圆内

例12:题目,代码,及简单解释

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

x,y = eval(input('输入一个坐标'))

if 10/2 > x and 5/2 > y:
	print("这个坐标在以(0,0)为原点5为高,10为长的矩形内")

else:
	print("这个坐标不在以(0,0)为原点5为高,10为长的矩形内")

结果

D:\Desktop\云计算学习笔记\python>py 练习题2.py
输入一个坐标3,3
这个坐标不在以(0,0)为原点5为高,10为长的矩形内

例13:题目,代码,及简单解释

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

print("三角形以原点开始,(0,100)和(200,0)为2个顶点,输入一个点看是否在三角形内")
x, y = eval(input('输入你的坐标:'))
y1 = -x/2 + 100
x1 = 200 - 2*y
if y > y1 or x > x1:
	print('不在这个三角形内')
elif y <= y1 and x <= x1:
	print('在这个三角形内')

结果

D:\Desktop\云计算学习笔记\python>py 练习题2.py
三角形以原点开始,(0,100)和(200,0)为2个顶点,输入一个点看是否在三角形内
输入你的坐标:40,200
不在这个三角形内

D:\Desktop\云计算学习笔记\python>py 练习题2.py
三角形以原点开始,(0,100)和(200,0)为2个顶点,输入一个点看是否在三角形内
输入你的坐标:30,60
在这个三角形内

例14:题目,代码,及简单解释

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

a = input("输入一个三位数的整数:")
if a[0] == a[2]:
	print('这个数是回文数')
else:
	print('不是回文数')

结果

D:\Desktop\云计算学习笔记\python>py 练习题2.py
输入一个三位数的整数:545
这个数是回文数

D:\Desktop\云计算学习笔记\python>py 练习题2.py
输入一个三位数的整数:534
不是回文数

例15:题目,代码,及简单解释

在这里插入图片描述
代码

import math
x1,y1,r1 = eval(input('输入第一个圆的圆心坐标及其半径'))
x2,y2,r2 = eval(input('输入第二个圆的圆心坐标及其半径'))
h = math.sqrt((((x2-x1)**2) + ((y2-y1)**2)))
r12 = r1 - r2
if r12 < 0:
	r = r2 - r1
	if h <= r:
		print('圆2在圆1里面')
	elif h <= r1 + r2:
		print('2个圆有重合')
	else:
		print('2个圆没有交集')
elif r12 > 0:
	if h <= r12:
		print('圆2在圆1里面')
	elif h <= r1 + r2:
		print('2个圆有重合')
	else:
		print('2个圆没有交集')	

结果

 D:\Desktop\云计算学习笔记\python>py 练习题2.py
输入第一个圆的圆心坐标及其半径2,3,5
输入第二个圆的圆心坐标及其半径2,3,8
圆2在圆1里面
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员Fy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值