程序三种结构
分支结构基本语法
if 条件表达式
语句一
语句二
语句三 ......
# if 语句联系 # 如果你们都给我钱,我就发财了 a = " " # 字符串的真假: # 只有空字符串为False,其余全为True if a:
print("我就发财了")
print("哈哈")
print("日子还得过呀")
我就发财了
哈哈
日子还得过呀
# if联系二 age = 19 if age > 16:
print("喝酒去")
print("下次你请我")
喝酒去
下次你请我
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 ... ...
# 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 变量 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语句 # 打印列表中的同学 # 如果没有在列表中,或者列表结束了,我们需要打印提示语句,表示不再爱了 stu_list = ['王大眼','李美丽','王晓静'] for stu in stu_list: if stu == "王晓静":
print("晓静你去了哪里") else:
print("对不起同学,饶了老衲吧") else:
print("不会再爱了")
对不起同学,饶了老衲吧
对不起同学,饶了老衲吧
晓静你去了哪里
不会再爱了
# 确定一个数字队列中是否包含数字7 # 确定是否包含,只要找到一个即可确定,不需要再继续往下找了,所以使用break dig_list = [3,4,6,7,54,3,23,2,4,7] for dig in 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案例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 条件表达式:
语句块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