while 循环

while语句用于循环执行程序,以处理需要重复处理的任务。

  while 条件:   
    # 循环体

    # 如果条件为真,那么循环体则执行,执行完毕后再次循环,重新判断条件。。。
    # 如果条件为假,那么循环体不执行,循环终止

如何终止循环

1、改变条件(标志位概念)

2、加入关键字:break

break:循环中只要遇到break立马结束循环。

continue:结束本次循环,继续判断条件,继续下次循环。

while else结构:

swift终止循环 终止while循环_逻辑运算

该流程图的意思为:首先对while条件判定,当条件为true时,执行条件语句块,执行完语句块再判定while条件,若任为true,则继续执行语句块,直到条件为false时结束循环。

如果while循环被break打断则不执行else代码。

应用场景:验证用户名密码,重新输入,执行次数。

格式化输出:

制作一个模板,某些位置的参数是动态的,像这样的就需要格式化输出,字符的动态替换。

 



#%s字符串占位符:可以接收字符串,也可接收数字
print('My name is %s,my age is %s' %('egon',18))
#%d数字占位符:只能接收数字
print('My name is %s,my age is %d' %('egon',18))
print('My name is %s,my age is %d' %('egon','18')) #报错

#接收用户输入,打印成指定格式
name=input('your name: ')
age=input('your age: ') #用户输入18,会存成字符串18,无法传给%d

print('My name is %s,my age is %s' %(name,age))

#注意:
#print('My name is %s,my age is %d' %(name,age)) #age为字符串类型,无法传给%d,所以会报错



 

很明显,用逗号进行字符串拼接,只能把用户输入的名字和年龄放到末尾,无法放到指定的xxx位置,而且数字也必须经过str(数字)的转换才能与字符串进行拼接。

    这就用到了占位符,如:%s、%d

运算符

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

算数运算

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

swift终止循环 终止while循环_逻辑运算_02

比较运算

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

 

swift终止循环 终止while循环_优先级_03

 

    赋值运算

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

swift终止循环 终止while循环_swift终止循环_04

 

    逻辑运算

swift终止循环 终止while循环_逻辑运算_05

 

 

 

 



#三者的优先级从高到低分别是:not,or,and
>>> 3>4 and 4>3 or 1==3 and 'x' == 'x' or 3 >3
False
#最好使用括号来区别优先级,其实意义与上面的一样
>>> (3>4 and 4>3) or ((1==3 and 'x' == 'x') or 3 >3)
False



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

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

例题:

判断下列逻辑语句的True,False。



1,3>4 or 4<3 and 1==1
2,1 < 2 and 3 < 4 or 1>2 
3,2 > 1 and 3 < 4 or 4 > 5 and 2 < 1
4,1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8
5,1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
6,not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6



 2 ,  x or y , x为真,值就是x,x为假,值是y;

             x and y, x为真,值是y,x为假,值是x。

 

swift终止循环 终止while循环_字符串_06

例题:求出下列逻辑语句的值。



8 or 4
0 and 3
0 or 4 and 3 or 7 or 9 and 6