1.while循环

我们知道计算机就是用来帮助人类实现生活中的问题,生活中经常遇到循环做某个事,如:循环听歌等。

1.1 基本循环
1
2
3
4
while 条件:
# 循环体
# 如果条件为真,那么循环则执行
# 如果条件为假,那么循环不执行

JD8es0.md.gif

while后面的条件如果为真就会一直执行下去 也就人们常说的死循环,我们再看下面这段代码

JD8li4.md.gif

1
2
3
4
5
# while循环计数
count = 0
while True:
count = count + 1
print(count)

因此,我们在实际的工作中,一般都是需要控制一下while的循环次数的,如下代码:

1
2
3
4
5
# 控制while循环的次数
count = 0
while count < 100:
count = count + 1
print(count)

while 关键后边的是条件,这样就可以通过条件成功的控制住循环的次数。

1
2
3
4
5
6
7
8
9
# ### 练习题 ###
1. 猜数字,设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确,然后退出循环。
2. 在上一题的基础,设置:给用户三次猜测机会,如果三次之内猜测对了,则显示猜测正确,退出循环,如果三次之内没有猜测正确,则自动退出循环,并显示‘大笨蛋’。
3. 使用循环输入 1 2 3 4 5 6 8 9 10
4.1-100的所有数的和
5. 输出 1-100 内的所有奇数
6. 输出 1-100 内的所有偶数
7.1-2+3-4+5 ... 99的所有数的和
8. 用户登录(三次重试机会)
1.2 break关键字

我们除了可以使用条件能够让循环停止,其实Python还给我们提供了一个break关键字来停止循环

1
2
3
4
5
6
num = 1
while num <6:
print(num)
num+=1
break
print("end")

当程序执行到break的时候就结束了.break就是结束当前这个while循环的 break以下的代码都不执行。

1.3 continue关键字

continue 用于退出当前循环,继续下一次循环

1
2
3
4
5
6
num = 1
while num <6:
print(num)
num+=1
continue
print("end")
1.4 while else
1
2
3
4
5
6
7
count = 0
while count <= 5:
print(count)
count += 1
else:
print('51devops')
count = 0
1
2
3
4
5
6
7
while True:
count = count + 1
print(count)
if count >= 5:
break
else:
print('51devops')

对于 while else结构,如果while后的条件条件不再满足,则执行else中的内容。如果是因为 break 引发的循环不再执行,则不执行else中的内容。

2. 格式化输出

现在有个需要我们录入我们身边好友的信息,格式如下:

1
2
3
4
5
------------ info of 51devops ----------
Name : 51devops
Age : 12
job : devops
------------- end ----------------

我们现在能想到的办法就是用如下方法:

1
2
3
4
5
6
7
8
9
10
11
name = input('请输入姓名:')
age = input('请输入年龄:')
job = input('请输入职业:')
hobby = input('请输入爱好:')
a = '------------ info of 51devops ----------'
b = 'Name:'
c = 'Age:'
d = 'Job:'
e = 'Hobby:'
f = '------------- end ----------------'
print(a+'\n'+b+name+'\n'+c+age+'\n'+d+job+'\n'+e+hobby+'\n'+f)
1
2
3
4
5
6
7
# 运行结果
------------ info of 51devops ----------
Name:meet
Age:18
Job:it
Hobby:3
------------- end ----------------

这样写完全没有问题,但是会不会比较繁琐呢,有些大佬肯定会想这不都实现了吗,还逼叨逼什么啊,那是没有体验过格式化输出有多霸道,我们现在来体验下霸道的姿势.

2.1 %s

1
2
3
4
5
6
7
8
9
10
11
12
name = input('请输入姓名:')
age = input('请输入年龄:')
job = input('请输入职业:')
hobby = input('请输入爱好:')
msg = '''
------------ info of 51devops ----------
Name : %s
Age : %s
job : %s
Hobbie: %s
------------- end ----------------'''
print(msg%(name,age,job,hobby))

我们但从代码的数量来看,这样就比那样的少,看到这里有细心的老铁们肯定在想%s这是啥玩意?
% 是一个占位, 回想下我们小时候给朋友占位子的场景,是的这个就是占位.那s又是什么呢? s代码的字符串类型;

3. 运算符

计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算.

3.1 算数运算

以下假设变量:a=10,b=20

JDYARH.md.jpg

3.2 比较运算

以下假设变量:a=10,b=20

JDJDKI.md.jpg

3.3 赋值运算

以下假设变量:a=10,b=20

JDY9Z6.md.jpg

3.4 逻辑运算

JDJ0xA.jpg

针对逻辑运算的进一步研究:

在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。

例题:
判断下列逻辑语句的True,False。
x or y , x为真,值就是x,x为假,值是y;
x and y, x为真,值是y,x为假,值是x。

3.5 成员运算
  • in
  • not in
    判断子元素是否在原字符串(字典,列表,集合)中:
    例如:
1
2
3
#print('喜欢' in 'dkfljadklf喜欢hfjdkas')
#print('a' in 'bcvd')
#print('y' not in 'ofkjdslaf')
3.6 运算符优先级

JDYPIO.jpg

作业

1.猜数字,设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果正确,然后退出循环。
2.在上一题的基础,设置:给用户三次猜测机会,如果三次之内猜测对了,则显示猜测正确,退出循环,如果三次之内没有猜测正确,则自动退出循环,并显示‘大笨蛋’。
3.使用两种方法实现输出 1 2 3 4 5 6 8 9 10 。
4.求1-100的所有数的和
5.输出 1-100 内的所有奇数
6.输出 1-100 内的所有偶数
7.求1-2+3-4+5 … 99的所有数的和
8.⽤户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格式化)
9.猜年龄游戏
要求:允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出。

10.猜年龄游戏升级版
要求:允许用户最多尝试3次,每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y,就继续让其猜3次,以此往复,如果回答N,就退出程序,如何猜对了,就直接退出。