作者:孚白
导读:本节我们开始学习Python的流程控制,从这节课开始你将慢慢领略编程的乐趣和Python的优雅,好吧,这节涉及if else、while、for等条件控制和循环。
首先我们从if else 开始吧,我们直接上代码让你领略Python的简洁:
# 本代码配套第7节Python入门教程 # 01 # if else 判断语句 age_1 = 35 you_age = input() you_age = int(you_age) if you_age >=age_1: print('哈哈,同学你已经不小了吖') else: print('咦,你还没有35岁哦') # 执行以上代码的输出取决于用户的输入数字
代码1解析:
我们把you_age变量使用input方法定义,就是说用户要自己输入年龄;
如果用户输入的年龄大于等于我们规定的35岁,则输出一句话,否则else输出另一段话;
# 02 # if else 连续判断 age = input() age = int(age) if 60 > age >= 18: print('你好成年人') elif 80 > age >= 60: print('你好大叔') elif age >= 80: print('你好大爷') else: print('你好同学') # 执行以上代码的输出取决于用户的输入数字
代码2解析:
我们把age变量使用input函数定义;
如果直接使用input返回的变量,是字符串类型,这里我们要把它改为整数型,所以使用了int方法;
我们判断用户的年龄介于18、60、80多个区间,这个时候简单使用if和else就不够了;
所以,我们使用了if和elif语句,这个语句可以连续做判断。
# 03 # while 循环 n = 0 while n < 5: print(n) n = n + 1 # 执行以上代码会输出: 0 1 2 3 4
while循环的特点是只要满足某一条件,就会无限的执行下去。
# 04 # for 循环 names = ['马云','马化腾','王健林'] for name in names: print(name) print() for x in names: if x == '王健林': print(x + '是万达老板') else: print(x) # 执行以上代码会输出:
马云 马化腾 王健林 马云 马化腾 王健林是万达老板
这里出现的for和in语句的作用是:把in后面列表里的每个元素一一遍历一遍,这里比较拗口,我慢慢解释;
首先,编程里遍历的一次是每个元素都访问读取的意思,所以,这个语句就是把names列表的各个人名,一一拿出来;
然后结合if的判断语句,其中 == 符号是比较的意思,看看前后是不是一样的数据;
# 05 # range() x = range(3) print(x) list1 = list(range(3)) print(list1) for z in range(3): print(z) print('---分割线---') for w in range(3): w += 100 print(w)
# 执行以上代码会输出: range(0, 3) [0, 1, 2] 0 1 2 ---分割线--- 100 101 102
其中,range表示从0到某一整数的范围;
list是配合range使用可以让这个整数分为变为列表,然后再使用for和in语句就可以遍历每个元素了;
注意符号 += 的意思,及时等号前面的变量代表的数加上等号后面的数字,然后再赋值给等号前面的变量,比较拗口,细细品哈哈;
练习:
使用for、in、range的方法求8以内偶数的和,要求:要用程序判断偶数,提示:Python里%符号可以求除法的余数。
创建一个含有苹果、葡萄、西瓜和菠萝的列表,然后用for、in、if、else语句print出来你喜欢吃西瓜,不喜欢吃其他水果的答案。
创建一个字典,含有:语文50、数学65、英语90分,然后用程序自动判断出哪些科目是及格的,要求:必须是基于字典的程序。
# 练习答案 # 01 x = 0 for i in range(8): if i % 2 == 0: x += i print(x) 执行以上代码后输出: 12 # 练习答案 # 02 list1 = ['苹果','葡萄','西瓜','菠萝'] for i in list1: if i == '西瓜': print('我不喜欢吃'+i) else: print('我喜欢吃'+i) 执行以上代码后输出: 我喜欢吃苹果 我喜欢吃葡萄 我不喜欢吃西瓜 我喜欢吃菠萝 # 联系答案 # 03 x = {'语文':50,'数学':65,'英语':90} for i in x: if x[i] >= 60: print('及格的科目有'+i) 执行以上代码后输出: 及格的科目有数学 及格的科目有英语