时间:2022-10-04 10:51:13 | 栏目:Python代码 | 点击:次
任何简单的或者复杂的算法都可以由顺序结构、选择结构和循环结构这三种基本结构组合而成
程序从上到下顺序地执行代码,中间没有任何的判断和跳转,直到程序结束
Python一切皆对象,所有对象都有一个布尔值
print(bool(False)) print(bool(0)) print(bool(0.0)) print(bool(None)) print(bool('')) print(bool("")) print(bool([])) #空列表 print(bool(list())) #空列表 print(bool(())) #空元组 print(bool({})) #空字典 print(bool(dict())) #空字典 print(bool(set())) #空集合 print('------------其他对象的布尔值均为True-----------------') print(bool(18)) print(bool("0"))
输出:
False
False
False
False
False
False
False
False
False
False
False
False
------------其他对象的布尔值均为True-----------------
True
True
程序根据判断条件的布尔值选择性地执行部分代码
明确的让计算机直到在什么条件下,该去做什么
中文语义:如果…就…
如果下雨,就带伞
语法结构:
if 条件表达式:
? 条件执行体
#判断余额是否充足 if money >=s: money=money-s print('取款成功,余额为:',money)
输入100,输出:
请输入取款金额:100
取款成功,余额为: 900
输入1200, 不继续执行
中文语义:
如果…不满足…就…
如果中奖就领奖,没中奖就不领
语法结构:
if 条件表达式:
? 条件执行体1
else:
? 条件执行体2
#双分支结构if...else... 二选一执行 num=int(input('请输入一个整数:')) #条件判断 if num%2==0: print(num,'是偶数') else: print(num,'是奇数')
输入9,输出:
请输入一个整数:9
9 是奇数
输入10,输出:
请输入一个整数:10
10 是偶数
中文语义
成绩是90以上吗? 不是
成绩是80到90分之间吗?不是
成绩是70到80分之间吗?不是
成绩是60到70分之间吗?不是
成绩是60分以下吗?是
语法结构:
if 条件表达式1:
? 条件执行体1
elif 条件表达式2:
? 条件执行体2
elif 条件表达式N:
? 条件执行体N
[else:]
? 条件执行体N+1
方括号表示可写可不写
代码示例:
''' 多分支结构,多选一执行 90-100 A 80-89 B 70-79 C 60-69 D 0 -59 E 小于0或者大于100为非法数值 ''' score= int(input('请输入一个分数:')) #判断 if score >=90 and score <=100: print('A级') elif score >=80 and score <= 89: print('B级') elif score >= 70 and score <= 79: print('C级') elif score >=60 and score <= 69: print('D级') elif score >=0 and score <=59: print('E级') else: print('对不起,成绩有误,不在成绩的有效范围内')
请输入一个分数:99
A级
请输入一个分数:66
D级
请输入一个分数:122
对不起,成绩有误,不在成绩的有效范围内
写法改造
''' 多分支结构,多选一执行 90-100 A 80-89 B 70-79 C 60-69 D 0 -59 E 小于0或者大于100为非法数值 ''' score= int(input('请输入一个分数:')) #判断 if 90 <=score <=100: print('A级') elif 80<=score <= 89: print('B级') elif 70<=score <= 79: print('C级') elif 60<=score <= 69: print('D级') elif 0<=score <=59: print('E级') else: print('对不起,成绩有误,不在成绩的有效范围内')
输出:
请输入一个分数:100
A级
语法结构:
if 条件表达式1:
? if 内层条件表达式:
? 内层条件执行体1
? else:
? 内层条件执行体2
else:
? 条件执行体
代码示例
''' 会员 >= 200 8折 >= 100 9折 非会员 >= 9.5折 不打折 ''' answer= input('您是会员吗?y/n') money=float(input('请输入您的购物金额:')) #外层判断是否是会员 if answer=='y': if money>=200: print('打8折,付款金额为:',money*0.8) elif money>=100: print('打9折,付款金额为:',money*0.9) else: print('不打折,付款金额为:',money) #虽然是会员,但金额太小不打折 else: #非会员 if money >=200: print('打9.5折,付款金额为:',money*0.95) else: print('不打折,付款金额为:',money)
输出:
您是会员吗?y/ny
请输入您的购物金额:2000
打8折,付款金额为: 1600.0
您是会员吗?y/ny
请输入您的购物金额:100
打9折,付款金额为: 90.0
#pass语句,什么都不做,只是一个占位符,用到需要写语句的地方 answer = input('您是会员吗?y/n') #判断是否为会员 if answer=='y': pass else: pass
先占位,后补全
age = int(input('请输入您的年龄:')) if age: #不用判读,直接利用对象的布尔值 print(age) else: print('年龄为:',age)
输出:
请输入您的年龄:18
18