Python初学小知识(二):分支、循环


C语言和Python经常弄混,尤其总是忍不住给Python后面加分号……干脆给自己做个笔记省的忘了。。。(小甲鱼那边的)

六、分支、循环

1. if … elif … elif … (else) …

2. 一种不常用的

条件成立时执行的语句 if condition else 条件不成立时执行的语句:

>>>age = 16
>>>if age < 18:
    	print("no")
else:
    	print("yes")
no

改为:

>>>age = 16
>>>print("no") if age < 18 else print("yes")
no

优势是将四行语句转换成了一行:

#分数分级
>>> score = 66
>>> level = ("D" if 0 <= score < 60 else
	     "C" if 60 <= score < 80 else
	     "B" if 80 <= score < 90 else
	     "A" if 90 <= score < 100 else
	     "S" if score == 100 else
	     '请输入0~100之间的分值')
>>> print(level)
C

3. break与continue

break退出循环体,再也不会回来;continue跳出本轮循环,之后还会再回来。else同样可以用在循环中:

i = 1
while i < 5:
    print("循环内的i是:",i)
    i += 1
else:  
    print("循环外的i是:",i)

当循环内的条件不为真时,执行else语句;若使用break语句,循环内的条件依旧为真,else语句不执行else语句可以非常方便地检测循环体的退出情况:

#7天坚持学习打卡小程序
day = 1
while day <= 7:
    answer = input("今天有好好学习吗?")
    if answer == "有":
        day += 1
    else:
        print("你已经连续学习了",day-1,"天")
        print("你第",day,"天没有好好学习")
        break
else:
    print("你已经学习了7天")

'''
结果:
今天有好好学习吗?有
今天有好好学习吗?有
今天有好好学习吗?有
今天有好好学习吗?没有
你已经连续学习了 3 天
你第 4 天没有好好学习'''

4. 循环的嵌套

#打印九九乘法表
i = 1
while i <= 9:
    j = 1
    while j <= i:
        print(j,'×',i,'=',j*i,end=' ')  #end=' '的作用是使print打印出的为横排
        j += 1
    else:
        print()  #起到换行的作用,如果用'\n',会空一行
    i += 1
    
'''结果:
1 × 1 = 1 
1 × 2 = 2 2 × 2 = 4 
1 × 3 = 3 2 × 3 = 6 3 × 3 = 9 
1 × 4 = 4 2 × 4 = 8 3 × 4 = 12 4 × 4 = 16 
1 × 5 = 5 2 × 5 = 10 3 × 5 = 15 4 × 5 = 20 5 × 5 = 25 
1 × 6 = 6 2 × 6 = 12 3 × 6 = 18 4 × 6 = 24 5 × 6 = 30 6 × 6 = 36 
1 × 7 = 7 2 × 7 = 14 3 × 7 = 21 4 × 7 = 28 5 × 7 = 35 6 × 7 = 42 7 × 7 = 49 
1 × 8 = 8 2 × 8 = 16 3 × 8 = 24 4 × 8 = 32 5 × 8 = 40 6 × 8 = 48 7 × 8 = 56 8 × 8 = 64 
1 × 9 = 9 2 × 9 = 18 3 × 9 = 27 4 × 9 = 36 5 × 9 = 45 6 × 9 = 54 7 × 9 = 63 8 × 9 = 72 9 × 9 = 81 
'''

5. for循环

在这里插入图片描述

for i in "abcd":
	print(i)

	
a
b
c
d

错误用法:

>>> sum = 0
>>> for i in 100:
	sum += i

	
Traceback (most recent call last):
  File "<pyshell#47>", line 1, in <module>
    for i in 100:
TypeError: 'int' object is not iterable

100并不是可迭代序列,这里使用range:
在这里插入图片描述

>>> for i in range(4): #从0到4-1的整数序列
	print(i)

0
1
2
3

>>> for i in range(1,4): #从1到4-1的整数序列
	print(i)

	
1
2
3

>>> for i in range(5,10,2):
	print(i)

	
5
7
9
>>> for i in range(10,5,-2):
	print(i)

	
10
8
6
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值