作者:孚白
导读:本节我们开始学习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)
执行以上代码后输出:
及格的科目有数学
及格的科目有英语