<>程序结构
* 程序三种结构
* 顺序
* 循环
* 分支
<>分支结构
*
分支结构基本语法
if 条件表达式 语句一 语句二 语句三 ......
*
条件表达式就是计算结果必须为布尔值的表达式
*
表达式后面的冒号不能少
*
注意if后面出现的语句,如果属于if语句块,则必须同一缩进等级
*
条件表达式结果为True执行if后面的缩进的语句块
# if 语句联系 # 如果你们都给我钱,我就发财了 a = " " # 字符串的真假: # 只有空字符串为False,其余全为True if a:
print("我就发财了") print("哈哈") print("日子还得过呀") 我就发财了 哈哈 日子还得过呀 # if联系二 age = 19 if
age> 16: print("喝酒去") print("下次你请我") 喝酒去 下次你请我
<>双向分支
*
if…else…表达
*
语法结构:
if条件表达式: 语句一 语句二 ... else: 语句一 语句二 ... # if 双向分支 # 如果你们都给我钱,我就发财了 a = " " #
字符串的真假: # 只有空字符串为False,其余全为True if a: print("我就发财了") print("哈哈") else: print(
"emmmm") print("继续吃土吧") print("日子还得过呀") 我就发财了 哈哈 日子还得过呀 # input的作用的是 # 1.
在屏幕上输出括号内的字符串 # 2. 接收用户输入的内容并返回到程序 # 3. input返回的内容一定是字符串类型 #
input负责接收用户输入并把内容返回给变量 gender = input("请输入您的性别") #打印输入的内容 print(gender) if
gender== "man": print("走,抽烟喝酒剃头") print("一起玩儿去呀") else: print("你到底是个啥子呀") print(
"对不起,我是男生") 请输入您的性别man man 走,抽烟喝酒剃头 一起玩儿去呀 # 考试成绩判断 # 成绩由用户输入 # 90以上:输出优秀 #
80-90:良 # 70-80:中 # 60-70:平 # 60以下: 输出: 我没你这傻学生 # 输入成绩,需要用到input函数 #
input输入的值全部是字符串类型 score = input("请输入成绩,必须是数字呀") # 解决输入是字符串的问题 score = int(score)
if score >= 90: print("你考得很好呀,小朋友") if score >= 80 and score < 90: print("凉凉")
if score >= 70 and score <70: print("也行") if score >= 60 and score <70: print(
"就这么着吧") if score < 60: print("下次接着考") 请输入成绩,必须是数字呀1 下次接着考
<>多路分支
*
很多分支的情况,叫多路分支
if 条件表达式:
语句1
…
elif 条件表达式:
语句1
…
elif 条件表达式:
语句1
…
else:
语句1
… …
*
elif可以有好多个,根据实际情况
*
else可选
*
多路分支最多只会执行一种情况
<>if语句补充
* if语句可以嵌套使用,不推荐
* python没有switch语句 # score 存放学生的成绩 # 注意input的返回值类型 score = input("请输入学生成绩:")
# 需要把str转换成int score = int(score) if score >= 90: print("A") elif score >= 80:
print("B") elif score >= 70: print("C") elif score >= 60: print("D") else: print
("起开,我没你这傻学生") 请输入学生成绩:90 A
<>循环语句
* 重复执行某一固定的动作或者任务
* 分类
* for
* while
<>for循环
*
语法
for 变量 in 序列: 语句1 语句2 ... # for循环案例 # 比如[1,2,3,4,5,6,7] list_one = [1,2,3,4,5,
6,7] for num in list_one: print(num) print(num+100) print(num+1000) 1 101 1001
2 102 1002 3 103 1003 4 104 1004 5 105 1005 6 106 1006 7 107 1007 # 打印学生列表姓名 #
如果是jingjing,那肯定是我的最爱呀 # 如果是别的学生,那要冷酷的拒绝他 stu_list = ['王大眼','李美丽','王晓静'] for stu
in stu_list: if stu == "王晓静": print("晓静你去了哪里") else: print("对不起同学,饶了老衲吧")
对不起同学,饶了老衲吧 对不起同学,饶了老衲吧 晓静你去了哪里
<>for-else语句
* for循环结束的时候,有时候需要执行一些收尾工作,此时需要使用else语句
* else语句是可选的 # for-else语句 # 打印列表中的同学 # 如果没有在列表中,或者列表结束了,我们需要打印提示语句,表示不再爱了
stu_list= ['王大眼','李美丽','王晓静'] for stu in stu_list: if stu == "王晓静": print(
"晓静你去了哪里") else: print("对不起同学,饶了老衲吧") else: print("不会再爱了") 对不起同学,饶了老衲吧
对不起同学,饶了老衲吧 晓静你去了哪里 不会再爱了
<>break,continue,pass
* break:无条件结束整个循环,简称循环猝死
* continue:继续
* pass:只是占位符号,代表这句话啥也不干,没有跳过功能 # 确定一个数字队列中是否包含数字7 #
确定是否包含,只要找到一个即可确定,不需要再继续往下找了,所以使用break dig_list = [3,4,6,7,54,3,23,2,4,7] for
digin dig_list: if dig == 7: print("哈哈哈,找到了") break else: print(dig) 3 4 6
哈哈哈,找到了 # continue语句练习 # 在数字1-10中,寻找所有偶数,找到偶数后打印偶数 dig_list = [1,2,3,4,5,6,7,8,9
,10] ''' # continue案例1 for dig in dig_list: if dig % 2 == 0: print(dig)
print("哈哈,你是个双的") else: continue ''' # 此段代码跟上面代码等价 for dig in dig_list: if dig %
2 == 1: continue print(dig) print("哈哈,你是个双的") 2 哈哈,你是个双的 4 哈哈,你是个双的 6 哈哈,你是个双的
8 哈哈,你是个双的 10 哈哈,你是个双的 # pass案例1 age = 19 if age > 19: pass else: print("你还小")
你还小 # pass案例2 ages = [2,23,43,54,65,2] for age in ages: pass print(age) 2 23 43
54 65 2
<>range函数
* 生成有序数列
* 生成数字队列可以定制 # range案例1 # 生成一个从1到100的数字序列 # range的生成序列的两个数字是左包括右边不包括 dig_list
= range(1,101) for dig in dig_list: print(dig) #
一般在python中,连个表示范围的数字都是左包括右边不包括,randint函数是个特例 # range函数在python2.x和python3.x中有严重区别
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 # range3 # 打印从1到9的数字
for i in range(1,10): print(i) 1 2 3 4 5 6 7 8 9
<>while循环
*
一个循环语句
*
表示当条件成立的时候,就循环,适应于不知道具体循环次数,但能确定在某个条件成立的情况下就循环
*
while语法
while 条件表达式: 语句块 #另外一种表达方法 while 条件表达式: 语句块1 else: 语句块2 #
如果说年利率是6.7%,本利是每年翻滚,则多少年后本金会翻倍 benqian = 10000 year = 0 # 存放需要翻本的年数 while
benqian< 20000: benqian = benqian * (1 + 0.067) year += 1 # year = year + 1
print(year) # 年利率案例2 # 本案例中循环体没有被执行 while benqian < 20000: benqian = benqian * (
1 + 0.067) year += 1 # year = year + 1 else: print(year) 11 11