python基础——选择判断

一、赋值运算符

  1. = ------ 等于 ,用于赋值
  2. += ------ 加等 a += 1 <==> a = a + 1
  3. -= ------ 减等 a -= 1 <==> a = a - 1
  4. *= ------ 乘等
  5. /= ----- 除等
  6. %= ----- 取模
  7. **= ----- 幂赋值
  8. //= ------取整除赋值
    python没有自加自减的运算

二、逻辑运算符

Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:

运算符逻辑表达式描述实例
andx and y布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值(a and b) 返回 20
orx or y布尔"或" - 如果 x 是非 0,它返回 x 的计算值,否则它返回 y 的计算值(a or b) 返回 10
notnot x布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 Truenot(a and b) 返回 False

在这里插入图片描述

三、选择结构

注意:python是强缩进的语言,缩进必须一致,要么全是空格,要么全是tab

  1. 单分支结构
    if条件:
    #满足条件的语句(“#”前是缩进)
if 条件:
	#满足条件的语句
  1. 双分支结构
if 条件:
	#满足条件的语句
else#满足条件的语句

  1. 多分支结构(最后一个也可用else)
if 条件 :
	#满足条件的语句
elif 条件 :
	#满足条件的语句
elif 条件 :
	#满足条件的语句

四、练习题

1.在这里插入图片描述

#第1题
set1 = "1\t3\t5\t7\n" \
       "9\t11\t13\t15\n" \
       "17\t19\t21\t23\n" \
       "25\t27\t29\t31\n"
set2 = "2\t3\t6\t7\n" \
       "10\t11\t14\t15\n" \
       "18\t19\t22\t23\n" \
       "26\t27\t30\t31\n"
set3 = "4\t5\t6\t7\n" \
       "12\t13\t14\t15\n" \
       "20\t21\t22\t23\n" \
       "28\t29\t30\t31\n"
set4 = "8\t9\t10\t11\n" \
       "12\t13\t14\t15\n" \
       "24\t25\t26\t27\n" \
       "28\t29\t30\t31\n"
set5 = "16\t17\t18\t19\n" \
       "20\t21\t22\t23\n" \
       "24\t25\t26\t27\n" \
       "28\t29\t30\t31\n"        #展现题目中方格内的数字
print(set1)
a = input("你的生日是否在set1中:")
if a == "t":                     #用布尔类型判断对错
	a = 1
else : a = 0
print(set2)
b = input("你的生日是否在set2中:")
if b == "t":
	b = 2
else : b = 0
print(set3)
c = input("你的生日是否在set3中:")
if c == "t":
	c = 4
else : c = 0
print(set4)
d = input("你的生日是否在set4中:")
if d == "t":
	d = 8
else : d = 0
print(set5)
e = input("你的生日是否在set5中:")
if e == "t":
	e = 16
else : e = 0
birth = a + b + c + d + e
print("他的生日是" +str(birth))

在这里插入图片描述

#第2题
a,b = map(int,input("请输入体重(磅)a和身高(英寸)b:").split())   #引用多个函数时的用法
weight = a * 0.45359237     #带入题目中的算法
hight = b * 0.0254
BMI = weight / (hight)**2
if BMI < 18.5 :
	print("他属于超轻")
elif 18.5 <= BMI < 25.0 :
	print("他属于标准")
elif 25.0 <= BMI < 30.0 :
	print("他属于超重")
elif 30.0 <= BMI :
	print("他属于痴肥")

在这里插入图片描述

#第3题
year = int(input("请输入一个年份:"))      #这是不用判断的做法
if year // 4 % 10 == 0 or year // 400 % 10 == 0:
	print("该年份是闰年")
if year // 100 % 10 != 0:
	print("该年份不是闰年")

在这里插入图片描述

#第4题(彩票)
import random         #引用随机函数
num1 = int(input("请输入一个两位数字:"))
num2 = random.randrange(1,100,1)     #产生1到100之间的一个随机数
a,b = num2 % 10,num2 //10
num3 = a + b * 10 
print("本次开奖号码为:" +str(num2))
if num1 == num2:
	print("\n奖金为10000美元")
elif num1 == num3:
	print("\n奖金为3000美元")
elif num1 % 10 == a or num1 // 10 == b:
	print("\n奖金为1000美元")
else:
	print("\n很遗憾什么奖也没中")

在这里插入图片描述

#第5题
a,b,c = map(float,input("题目:求解ax**2+bx+c=0的平方根\n请输入a,b,c的值:").split())
r1 = (-b + (b**2 - 4*a*c)) / 2*a
r2 = (-b - (b**2 - 4*a*c)) / 2*a
if b**2 - 4*a*c > 0:
	print("该方程的两个实根为%.2f和%.2f" %(r1,r2))
elif b**2 - 4*a*c == 0:
	print("该方程的根为%f" %(r1))
elif b**2 - 4*a*c < 0:
	print("该方程无实根")

在这里插入图片描述

#第6题
print("用克莱姆法则解下列方程")
a,b,c,d,e,f = map(float,input("请输入a,b,c,d,e,f的值:").split())
x = (e*d - b*f) / (a*d - b*c)
y = (a*f - e*c) / (a*d - b*c)
e = a*x + b*y
f = c*x + d*y
if a*d - b*c == 0:
	print("The equation has no solution")
else:
	print("x=%.2f,y=%.2f"%(x,y))

在这里插入图片描述

#第7题(找未来数据)
day = int(input("请输入今天是周几(数字表示):"))
nextday = int(input("请输入今天之后到未来某天的天数:"))
future = (nextday + day) % 7
print("未来这天是星期%s" %(future))    

在这里插入图片描述

#第8题(比较价钱)
pay1,weight1 = map(float,input("请输入第一袋包装的重量和价钱:").split())
pay2,weight2 = map(float,input("请输入第二袋包装的重量和价钱:").split())
if pay1 > pay2:
	print("第二袋价钱更好")
if pay1 < pay2:
	print("第一袋价钱更好")

在这里插入图片描述

#第9题
num = int(input("请输入一个整数:"))
print("该数字能否被5和6整除?")
if num // 5 == 0 and num // 6 == 0:
	print("不可以")
else:
	print("可以")
print("该数字能否被5或6整除?")
if num // 5 == 0 or num // 6 == 0:
	print("不可以")
else:
	print("可以")
print("该数字能否被5和6中的其中一个整除(但是又不能被他们同时整除)?")
if num // 5 == 0 and num // 6 == 0:
	print("可以")
else:
	print("不可以")

在这里插入图片描述

#第10题
import random    
num = int(input("石头剪刀布,0代表剪刀,1代表石头,2代表布。请输入0,1或2:"))
num1 = random.randrange(0,2)
print("电脑出:"+str(num1))
if num == num1:
	print("平局")
elif num == 0 and num1 == 1:
	print("你输了")
elif num == 0 and num1 == 2:
	print("你赢了")
elif num == 1 and num1 == 0:
	print("你赢了")
elif num == 1 and num1 == 2:
	print("你输了")
elif num == 2 and num1 == 0:
	print("你输了")
elif num == 2 and num1 == 1:
	print("你赢了")

在这里插入图片描述

#第11题
num = int(input("0表示将美元转换为人民币,1表示将人民币转换为美元。请输入你的选项:"))
num1 = float(input("请输入金额:"))
exchange = float(input("汇率是:"))
if num == 0:
	num1 = num1 * exchange
	print("该金额转换成人名币为$%.2f" %num1)
elif num == 1:
	num1 = num1 / exchange
	print("该金额转换成美元为$%.2f" %num1)

在这里插入图片描述

#第12题
a,b,c = map(float,input("请输入三角形的三条边:").split())
if a+b>c and a+c>b and b+c>a:
	a+b+c
	print("这个三角形的周长是:",a+b+c)
else:
	print("这个三角形不合法")

在这里插入图片描述

#第13题
year,mouth,day = map(int,input("请输入年份,月份以及这个月的某天:").split())
h = int((day+(26*(mouth+1)/10)+year%10+year%10/4+year/100+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("这天是星期五")

在这里插入图片描述

#第14题
x,y = map(float,input("判断一个点是否在圆心为(0,0)半径为10的圆内\n请输入一个点的坐标:").split())
print("这个点到(0,0)之间的距离小于或等于10,则该点在圆内")
d = ((x-0)**2+(y-0)**2)**0.5
print("该点与圆心的距离为%.2f" %d)
if d <= 10:
	print("该点在圆内")
else:
	print("该点不在圆内")


在这里插入图片描述

#第15题
print("判断一个点是否在以(0,0)为中心而宽为10高为5的矩形内\n若一个点到(0,0)的水平距离小于或等于10/2而(0,0)的垂直距离小于或等于5.0/2,则这个点在矩形内")
x,y = map(float,input("请输入一个点的坐标:").split())
if x<=10/2 and y<=5/2:
	print("这个点在矩形内")
else:
	print("这个点不在矩形内")

在这里插入图片描述

#第16题
num = int(input("请输入一个3位整数:"))
if num%10 == num//100:
	print("这个数是一个回文数")
else:
	print("这个数不是回文数")

在这里插入图片描述

x, y = eval(input("请输入一个坐标:"))
# 先限定xy的范围
if x >= 0 and x <= 200 and y >= 0 and y <= 100:
    k = y / (200 - x)
    if k <= 100 / 200:
        print("这个点在三角形内")
    else:
        print("这个点不在三角形内")
else:
    print("这个点不在三角形内")

在这里插入图片描述

x1, y1, r1= eval(input("请输入圆心1的坐标和半径:"))
x2, y2, r2= eval(input("请输入圆心2的坐标和半径:"))
d = ((x2 - x1) ** 2 + (y2 - y1) ** 2) ** 0.5

if d <= abs(r1 - r2):
    print("圆2在圆1中")
elif  d <= r1 + r2:
    print("两个圆有重叠")
else:
    print("两个圆没有重叠")

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值