小白自学笔记之Python入门-第五章 选择-4
5.2 if选择语句
if就是如果的意思,也就是当某个条件满足,执行哪些代码,对应的还有else,就是条件不满足时要执行哪些代码。
if语句有三种形式,分别是单分支if,双分支if和多分支if。
先来看单分支if的语法形式:
if 条件表达式:
语句块
所以第一象限判断就可以写成下面代码:
if x>0 and y>0:
print("第一象限")
双分支if的语法形式:
if 条件表达式:
语句块
else:
语句块
所以是否第一象限判断就可以写成下面代码:
if x>0 and y>0:
print("第一象限")
else:
print("不是第一象限")
多分支if的语法形式:
if 条件表达式1:
语句块
elif 条件表达式2:
语句块
elif 条件表达式3:
语句块
……
else:
语句块
所以象限判断就可以写成下面代码:
if x>0 and y>0:
print("第一象限")
elif x<0 and y>0:
print("第二象限")
elif x<0 and y<0:
print("第三象限")
else:
print("第四象限")
由此,输入一个点坐标值,输出这点象限的完整代码如下:
print("判断象限")
x,y=eval(input("请输入点的坐标(x,y),如20,30:"))
if x>0 and y>0:
print("第一象限")
elif x<0 and y>0:
print("第二象限")
elif x<0 and y<0:
print("第三象限")
else:
print("第四象限")
运行程序结果为:
判断象限
请输入点的坐标(x,y),如20,30:2,-9
第四象限
现在试着添加一下购物系统中“暑期促销,购物满100元八折”的功能,自己思考编程然后再参考下面的代码,希望你能写出更优的代码。
print(" ***超市购物系统*** ")
print("欢迎光临,祝您购物愉快!")
price1=float(input("请输入第一种商品价格:"))
price2=float(input("请输入第二种商品价格:"))
price3=float(input("请输入第三种商品价格:"))
total=price1+price2+price3
free=0 #请思考本行代码作用
heji=total #请思考本行代码作用
if total>=100:
free=total*0.2
heji=total*0.8
print("商品金额为 :",total)
print("应付金额为:",heji)
paymoney=float(input("请您付款:"))
change=paymoney-heji
print(" ***购物清单*** ")
print("第一种商品价格 :",price1)
print("第二种商品价格 :",price2)
print("第三种商品价格 :",price3)
print("商品金额为 :",total)
print("应付金额为 :",format(heji,"0.2f")) #请思考format函数作用
print("免费金额为 :",format(free,"0.2f"))
print("顾客付款金额 :",format(paymoney,"0.2f"))
print("找零 :",format(change,"0.2f"))
print("欢迎再来!Have a good day!")
运行程序输出结果为:
***超市购物系统***
欢迎光临,祝您购物愉快!
请输入第一种商品价格:22
请输入第二种商品价格:66
请输入第三种商品价格:120
商品金额为 : 208.0
应付金额为: 166.4
请您付款:200
***购物清单***
第一种商品价格 : 22.0
第二种商品价格 : 66.0
第三种商品价格 : 120.0
商品金额为 : 208.0
应付金额为 : 166.40
免费金额为 : 41.60
顾客付款金额 : 200.00
找零 : 33.60
欢迎再来!Have a good day!
关于if选择结构,可以有很多经典的例子,比如下面这几个,不仅能在Python中实现,还可以用其它语言实现,原理类似。
1. BMI ,啥意思, 请自己百度,实现输入身高体重,输出BMI指数,并给出身体参数提示信息。
2. 模拟10以内的加法,随机生成两个10以内的整数number1和number2,用户输入两个整数的和,判断答案是否正确。思考:10以内的减法如何实现(……不是你想的那么简单)。
3. 输入一个不大于5位的正整数,判断该数是几位数并逆序输出。如输入1234,输出4位数,4321
4. 编写一个程序,找出某个年份属于哪个生肖。

会了这些编程,你的选择程序设计过关了,参考答案“现在还在路上走……”,要不把你的贴在这儿?
Paste here
5.3条件表达式
选择结构最后一个知识点条件表达式,其实就是一句话使用一行代码快速判断,替换复杂的多行if语句,使得代码简单,提供一个例子求x和y较大值的条件表达式:max= x if x > y else y,请你写出求x和y较小值的条件表达式。
min= 别找了,没有参考答案
选择结构 over!