JJJ:python学习笔记2

双分支结构 p28

格式:

if 表达式1:
	语句1
else:
	语句2

代码示例:

num=eval(input('请输入中奖号码:'))

if num==987654:
    print('中奖了')
else:
    print('没中奖')


# 上面的代码可以使用条件表达式来简化
result='中奖了' if num==987654 else '没中奖'
print(result)

# 进一步简化
print('中奖了' if num==987654 else '未中奖')
多分支结构 p29

代码结构:

if 表达式1:
	语句块1
elif 表达式2:
	语句块2
elif 表达式n:
	语句块n
else:
	语句块n+1

代码实例:

score=eval(input('请输入您的成绩:'))

if score<0 or score>100:
    print('成绩有误')
elif 0<=score<60:
    prints('不及格')
elif 60<=score<70:
    print('D')
elif 70<=score<80:
    print('C')
elif 80<=score<90:
    print('B')
else:
    print('A')
嵌套if的使用 p30

1、

if 表达式1if 表达式2:
		语句块1
	else:
		语句块2

2、

if 表达式1if 表达式2:
		语句块1
	else:
		语句块2
elseif 表达式3:
		语句块3
	else:
		语句块4

多个条件的连接 p31

要同时满足多个条件:and

if 条件1 and 条件2:
	语句块1
else:
	语句块2

多个条件有一个满足即可:

if 条件1 or 条件2:
	语句块1
else:
	语句块2

Python3.11新特性-模式匹配 p32

c中的switch加强版

s=input('请输入成绩等级:')

match score:
    case 'A':
        print('优秀')
    case 'B':
        print('中等')
    case 'c':
        print('及格')
    case 'D':
        print('不及格')
    case _:
    	print('例外情况'

遍历循环for p33

python中有两类:
1、遍历循环结构for
2、无限循环结构while

语法结构1:for
for 循环变量 in 遍历对象:
	语句块

截图待上传

代码示例:
range(n,m)函数,Python内置函数,产生一个[n,m)的整数序列,包含n不包含m

# 遍历字符串
for i in 'hello':
    print(i)

# range(n,m)函数,Python内置函数,产生一个[n,m)的整数序列,包含n不包含m
for i in range(1,11):
    if i%2==0:
        print(i,'为偶数')

# 利用遍历for循环来计算1-10的累加和
sum=0
for i in range(1,11):
    sum+=i
print(sum)


# 判断100到999之间的水仙花数
'''
什么叫水仙花数:
153=1*1*1+5*5*5+3*3*3
'''
for i in range(100,1000):
    a=eval(str(i)[0])
    b=eval(str(i)[1])
    c=eval(str(i)[2])
    if a**3+b**3+c**3==i:
        print(i,'是水仙花数')
语法结构2:for…else…
# 语句块2只有在循环正常结束后才能执行到,遇到break就是非正常,但是遇到continue依然可以正常执行else
for 循环变量 in 遍历对象:
	语句块1
else:
	语句块2

示例:

s=0
for i in range(1,11):
    s+=i
else:
    print('1到10的累加和为:',s)

无限循环while p34

while结构
while 表达式:
	语句块

while循环的四个步骤:
1、初始化变量
2、条件判断
3、语句块
4、改变变量

代码示例:
1、

# 1、初始化变量
ans=input('今天要上课吗?y/n\n')
# 2、条件判断
while ans=='y':
    print('好好学习') # 3、执行语句块
    # 4、改变变量
    ans = input(('今天要上课吗?y/n\n'))

2、

# 1-100之间的累加和
s=0
# 1、初始化变量
i=1
while i<=100: # 2、条件判断
    s+=i # 3、执行语句块
    i+=1  # 4、改变变量
print(s)
while…else…结构
while 表达式:
	语句块1
else: # 若while整个执行完毕了,中途没有遇到break中断的情况,就会执行else的语句块2
	语句块2

代码示例:

# 1-100之间的累加和
s=0
# 1、初始化变量
i=1
while i<=100:
    s+=i
    i+=1
else:
	print(s)
使用while循环模拟用户登录 p35
# 使用无限循环模拟用户登录
# 1、初始化变量
i=0
# 2、条件判断
while i<3:
    # 3、执行语句块
    user_name=input('请输入用户名:')
    pwd=input('请输入密码:')
    if user_name=='a' and pwd=='a':
        print('登录成功')
        i=8 # 4.1、改变变量 
    else:
        if i<2:
            print('还有',2-i,'次机会')
        i+=1 # 4.2、改变变量 

if i==3:
    print('输入错误')
嵌套循环打印输出长方形和三角形 p36

循环结构也可以互相嵌套,实际使用中建议不超过3层

遍历循环for和无限循环while之间可以相互嵌套

# 长方形
for i in range(1,4): # 外层循环控制行数
    for j in range(1,5): # 内层循环控制列数
        print('*',end='')
    print('')

print('-'*66)

# 直角三角形
for i in range(0,5):
    for j in range(0,i+1):
        print('*',end='')
    print('')

print('-'*66)

# 倒直角三角形
for i in range(0,5):
    for j in range(0,5-i):
        print('*',end='')
    #print('')
    print()

print('-'*66)

# 等腰三角形
for i in range(0,5):
    for j in range(0,4-i):
        print(' ',end='')
    for j in range(0,i+1):
        print('*',end='')
    for j in range(0,i):
        print('*',end='')
    print()

嵌套循环打印输出菱形和空心菱形 p37

7行实心菱形,5行空心菱形

# 实心菱形
for i in range(0,7):
    if i<4:
        for j in range(0,3-i):
            print(' ',end='')
        for j in range(0,2*i+1):
            print('*',end='')
    else:
        for j in range(0,i-3):
            print(' ',end='')
        for j in range(0,(6-i)*2+1):
            print('*',end='')
    print()

print('-'*66)

# 空心菱形
for i in range(0,5):
    if i<=(5//2):
        j=2-i
        k=(5-1)-j
    else:
        j=i-2
        k=(5-1)-j
    for m in range(0, 5):
        if m == j or m == k:
            print('*', end='')
        else:
            print(' ', end='')
    print()

拓展:用户指定行号,输出实心菱形和空心菱形

# 拓展:用户指定行号,输出实心菱形和空心菱形
line=eval(input('请输入行号:'))

while line%2==0:
    print('菱形的行号必须为奇数')
    line = eval(input('请重新输入行号:'))

# 实心菱形
print('实心菱形:')
for i in range(0,line):
    if i<=(line//2):
        for j in range(0,line//2-i):
            print(' ',end='')
        for j in range(0,i*2+1):
            print('*',end='')
    else:
        for j in range(0,i-line//2):
            print(' ',end='')
        for j in range(0,(line-1-i)*2+1):
            print('*',end='')
    print()

# 空心菱形
print('空心菱形:')
for i in range(0,line):
    if i<= line//2:
        k=line//2-i
        m=(line-1)-k
    else:
        k=i-line//2
        m=(line-1)-k
    for n in range(0,line):
        if n==k or n==m:
            print('*',end='')
        else:
            print(' ',end='')
    print()
break在循环中的使用 p38

用于跳出循环结构,通常与if搭配使用

break在while循环中的使用
while 表达式1:
    执行代码
    if 表达式2
        break

代码实例:

i=0
while i<3:
    usr=input('请输入用户名:')
    pwd=input('请输入密码:')
    if usr=='a' and pwd=='a':
        print('密码正确,正在登录')
        break
    else:
        if i<=2:
            print('密码不正确,还有',2-i,'次机会')
    i+=1
else:
    print('3次均输入失败,无法登录')
break在for循环中的使用
for i in range(0,3):
    usr=input('请输入用户名:')
    pwd=input('请输入密码:')
    if usr=='a' and pwd == 'a':
        break
    else:
        print('密码不正确,还有',2-i,'次机会')
else:
    print('3次均输入失败,无法登录')
continue在循环中的使用

continue的作用是用于跳过本次循环的后续代码,而继续执行下一次循环操作
通常和if一起使用

continue在while循环中的使用

语法结构:

while 表达式1:
	执行代码1
	if 表达式2:
		continue
	执行代码2

代码示例:求1-100之间的偶数和

s=0
i=1

while i<=100:
    if i%2==1:
        i+=1
        continue
    s+=i
    i+=1
print('1-100之间的偶数和是:',s)
continue在for循环中的使用

语法结构:

for 循环变量 in 遍历对象:
	执行代码
	if 表达式:
		continue

代码示例:

s=0
for i in range(1,101):
    if i%2:
        continue
    s+=i

print('1-100之间的偶数和是:',s)

空语句pass和本章总结 p40

pass 是 保留字
在语法结构中只起到占位符作用,是语法结构完整,不报错

一般用在if、for、while、函数的定义、类的定义中

下面的代码块中,若没有pass,则会报错

if True:
    pass

while True:
    pass

拓展:产生随机数

import  random
# 1和100指定随机数的范围
rand=random.randint(1,100)
  • 23
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值