用户登录
用户注册

分享至

学习笔记005-if条件表达式、while循环

  • 作者: 你麻痹你以为你以为的就是你以为的吗
  • 来源: 51数据库
  • 2021-11-22

Python学堂笔记005

一、运算符的优先级

b = 2 or 3 and 4
# or和and 优先级一样高,从左往右运算,结果4
# or比and 优先级高,从左往右运算,结果4
# and比or 优先级高,结果2
# 结论发下 and 的优先级比 or的优先级高
print(b)

二、条件控制语句

1、if语句

执?的流程:
if语句在执?时,会先对条件表达式进?求值判断,
如果为True,则执?if后的语句
如果为False,则不执?

语法:if 条件表达式:
			代码块
代码块:
代码块中保存着一组代码,同?个代码块中的代码,要么都执?要么 都不执?
代码块以缩进开始,直到代码恢复到之前的缩进级别时结束
代码块就是?种为代码分组的机制
num = 30
if num > 20 and num < 40 :
    print('num比20大,num比40小')
    
返回结果:'num比20大,num比40小'

三、input 函数

该函数?来获取?户的输?
会接受一个标准的输入的数据,返回的类型string类型,
input()调用这个函数之后,程序会立即暂停,等待用户输入

语法:input()
gz = int(input('请输入您的工资:'))
#让用户输入工资,用gz接收;
#用户输入的内容默认是str字符串格式,把字符串转为整型
if gz >= 2000:
#条件:gz大于等于2000就执行代码块
    print('再接再厉')
    #if的代码块
else:
#当if条件不满足,则执行else的代码块
    print('哎,可怜挣得真少')
    #else的代码块

四、if-else 语句

执?流程:
if-else语句在执?时,先对if后的条件表达式进?求值判断
如果为True,则执?if后的代码块
如果为False,则执?else后的代码块)

语法:
if 条件表达式:
	代码块
else:
	代码块
CK=20000
if CK >= 15000:
#条件:CK大于等于15000就执行代码块
    print('再接再厉!')
    #if的代码块
else:
#当if条件不满足,则执行else的代码块
    print('继续努力!')
    #else的代码块

五、if-elif-else 语句

执?流程: if-elif-else语句在执?时,会?上向下依次对条件表达式进?求值判断,
如果表达式的结果为True,则执?当前代码块,然后语句结束 如果表达式的结果为False,则继续向下判断,直到找到True为?
如果所有的表达式都是False,则执?else后的代码块

语法:
if 条件表达式:
	代码块
elif 条件表达式:
	代码块
elif 条件表达式:
	代码块	
else:
	代码块
练习1:
value = 30000
#设定一个值
if value >= 30000:
#条件:判断value是否大于等于30000,结果为True则执行代码块,否则往下判断;
    print('有钱任性')
elif value >= 20000: 
#条件:判断value是否大于等于20000,结果为True则执行代码块,否则往下判断;
    print('有钱真好')
elif value >= 10000: 
#条件:判断value是否大于等于10000,结果为True则执行代码块,否则往下判断;
    print('哥也?薪上万了')
elif value >= 5000:
#条件:判断value是否大于等于5000,结果为True则执行代码块,否则往下判断;
    print('?资还说的过去')
elif value >= 2000: 
#条件:判断value是否大于等于2000,结果为True则执行代码块,否则往下判断;
    print('能养活??了')
else:
#当上述所有条件皆不满足时,则运行else的代码块。
    print('你该努力了')
练习2#3月、4月、5月为春季,6月、7月、8月为夏季,
#9月、10月、11月为秋季,12月、1月、2月为冬季。
#根据用户输入的月份打印对应的信息!

yue = int(input('输入月份'))
#收取用户输入的月份
if yue > 12 or yue < 1:
#条件判断用户输入的月份是否在正常范围内;
    print(yue,'月份不存在')
elif 3 <= yue <=5:
#条件判断用户输入的是不是春季
    print(yue,'月份  春季')
elif 6 <= yue <=8:
#条件判断用户输入的是不是夏季
    print(yue,'月份  夏季')
elif 9 <= yue <=11:
#条件判断用户输入的是不是秋季
    print(yue,'月份  秋季')
else:
#上不满足春季、夏季、秋季、则输出冬季
    print(yue,'月份  冬季')

总结: if-elif-else中只会有?个代码块会执?

六、while 语句

循环语句可以使指定的代码块重复指定的次数;
循环语句分成两种:
while循环 和 for循环
执行流程:
while语句在执行时,会先会while语句后面的条件表达式进行求值判断
如果判断结果为True,则执行循环体的逻辑(代码块)
循环体执行完毕之后,继续对条件表达式进行求值判断,以此类推
直到判断结果为False,则终止循环,或执行else语句中的逻辑。

语法: 
while 条件表达式 : 
	代码块 
else:代码块

while循环的三要素:
初始化表达式:通过初始化表达式来初始化一个变量
条件表达式:同来设置循环的执行条件
更新条件表达式:修改初始化变量的值

总结:初始化变量是0,小于几就执行几次

while的三要素:
i=0  
#初始化表达式
while i<20:
#条件表达式
    i += 1
   # 更新条件表达式
    print(i)

七、循环嵌套

Python 语?允许在?个循环体??嵌?另?个循环。

语法:
while 条件表达式:
	while 条件表达式:
		代码块
	代码块
练习199乘法表
i = 0
#设定一个值给i
while i < 9: 
#条件判断I是否小于9,为True就执行代码块,否则结束
    i += 1
	#防止while死循环
    j = 0
    #设定一个值给j
    while j < i :
    #条件判断j是否小于i
        j += 1
        #防止死循环
        print(f'{j}*{i}={j*i}',end='')
        #输出99乘法表
    print()

八、break和continue

continue:跳过本次循环
?来跳过当初循环

i = 0
while i < 6:
    i += 1
    if i==3:
        continue
    print(i)
else:
    print('程序结束')
返回结果:#跳过了3的输出
1
2
4
5
6
程序结束

break:停止循环
可以?来?即退出循环语句,包括else语句

i = 0
while i < 6:
    i += 1
    if i==3:
        break
    print(i)
else:
    print('程序结束')
返回结果:#在输出完2以后循环就停止了
1
2

课堂作业:

作业1:获取?户输?的任意数,判断其是否是质数?

#作业1:
#获取?户输?的任意数,判断其是否是质数?
sz=int(input("请输入一个数字:"))
#用户输入一个数字,将数字转为整数类型;
if sz>=1:
#判断数字是否为正数
    if sz % 2 == 1 :
    #判断数字除2是否等于1,相等就执行代码了,否则执行else代码块
        print('质数')
    else:
        print('不是质数')
else:
    print('输入有误!')

#答案1:
num = int(input('请输入一个数字:'))
i = 2
# 定义一个变量,变量来记录num是否是质数,默认num是质数 True
flag = True
while i < num :

    #如果num能被i整除,则说明num一定不是质数
    if num % i == 0:
        # 一旦进入判断则证明num一定不是质数,需要将flag修改为False
        flag = False
    i += 1

if flag:
    print(num,'是质数')
else:
    print(num,'不是质数')

作业2:求1000以内所有的?仙花数

#作业2:
#求1000以内所有的?仙花数
sz = 1
a = 1
b = 0
c = 0
d = 0
while sz <= 1000:
    sz += 1
    a += 1
    print(sz)
    if a == 10:
        a = 0
        b +=1
    elif b == 10:
        b = 0
        c += 1
    elif c == 10:
        c = 0
        d += 1
    elif sz >= 1000:
        break
    elif sz == (d ** 3) + (c ** 3) + (b ** 3) + (a ** 3):
        print(f'{d}{c}{b}{a}是水仙花数')
    else:
        pass

#答案1:
i = 100

while i < 1000:

    a = i // 100    #百位数
    #b = i // 10 % 10
    b = (i - a * 100) // 10  #十位数
    c = i % 10 #个位数
    if i == (a ** 3) + (b ** 3) + (c ** 3):
        print(i,'为水仙花数')
    i += 1
软件
前端设计
程序设计
Java相关