流程控制

python流程控制

python的三大流程为分支,循环,顺序。分支使用if语句实现,循环使用for或者while语句实现。

if条件分支语句

python条件语句是通过一条或者多条语句执行的结果(True /False)来决定执行的代码块。

  • if单分支语句
if 逻辑语句:
    语句(块)

demo:

print('Hello ,Python')
learning='python'
if learning == 'python':
	print('我正在学习Python。')
print('Welldone.')
#输出
Hello ,Python
我正在学习Python。
Welldone.
  • if双分支语句
if 逻辑语句:
	语句(块)1
else:
    语句(块)2

demo:

print('Hello ,Python')
learning=input('请输入你学习的编程语言:')
if learning == 'python':
	print('我正在学习Python。')
else:
    print('我在学习%s。'%(learning))
print('Welldone.')
#输出
Hello ,Python
请输入你学习的编程语言:C++
我在学习C++。
Welldone.

  • if多分支语句
    • elif:else if 缩写为elif。
if 逻辑语句1:
	语句(块)1
elif 逻辑语句2:
	语句(块)2
elif 逻辑语句3:
	语句(块)3
  ...
elif 逻辑语句n:
	语句(块)n-1
else:
    语句(块)n


demo1:

grade = int(input('请输入你的分数:'))
if 90 <= grade <=100:
    print('你的等级为A。')
elif 80 <= grade :
    print('你的等级为B。')
elif 70 <= grade :
    print('你的等级为C。')
elif 60 <= grade :
    print('你的等级为D。')
elif 0<= grade :
    print('你的等级为E。')
else:
    print('输入错误!')
#输出
请输入你的分数:55
你的等级为E。

demo2:

def findnum():
    for i in range(100,1000):
        a = i // 100
        b = int(i / 10) % 10
        c = i % 10
        if i == a ** 3 + b ** 3 + c ** 3:
            print(i,end=' ')


number = int(input('请输入一个三位数:'))
a = number //100
b = int(number / 10 ) % 10
c = number % 10


if number == a**3+b**3+c**3:
    print('这是一个水仙花数!')
else:
    print('这不是一个水仙花数!')
    print('水仙花数有:')
    findnum()
#输出
请输入一个三位数:111
这不是一个水仙花数!
水仙花数有:
153 370 371 407 

while语句

  • 循环语句

    • 所谓循环,就是用来执行部分代码在一定条件下重复执行的代码。
  • 格式:

while 逻辑语句:
    语句()

demo:

i = 0
while True:
    print('I LOVE PYTHON')
    i += 1
    if i == 5:
        break

#输出
I LOVE PYTHON
I LOVE PYTHON
I LOVE PYTHON
I LOVE PYTHON
I LOVE PYTHON

(1)利用while来打印1-100的数字

i = 0
while i<100:
    i += 1
    print(i, end=' ')
#输出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 

(2)利用while求1-100的和

i = 0
sum=0
while i<100:
    i += 1
    sum+=i
print('sum:',sum)
#输出
sum: 5050

(3)利用while求1-100内所有的偶数和

i = 0
sum=0
while i<100:
    i += 2
    sum+=i
print('sum:',sum)
#输出
sum: 2550

(4)求100-999内所有的水仙花数


i=100
while i<1000:
    a = i // 100
    b = int(i / 10) % 10
    c = i % 10
    if i == a ** 3 + b ** 3 + c ** 3:
        print(i, end=' ')
    i+=1
    
#输出
153 370 371 407 

for 循环

python中for可以用来遍历任何序列(字符串,列表,元组,etc)

格式:

for i in 序列:
	语句(块)

1.range()

range(end)  #[0,end-1],end为整数

range(start,end)  #[start,end-1],两个数均为整数,步长默认为1

range(start,end,step)  #[start,end-1],步长为step,

demo:

for i in range(1,100,2):
	print(i,end=' ')
#输出
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99 

练习,题目如while操作:

(1)

for i in range(1,101):
    print(i,end=' ' )
#输出
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 

(2)

sum=0
for i in range(1,101):
    sum+=i
print('sum:',sum)
#输出
sum: 5050

(3)

sum=0
for i in range(0,101,2):
    sum+=i
print('sum:',sum)

#输出
sum: 2550

(4)

for i in range(100,1000):
    a = i // 100
    b = int(i / 10) % 10
    c = i % 10
    if i == a ** 3 + b ** 3 + c ** 3:
        print(i,end=' ')
#输出
153 370 371 407 

break和continue

  • break用来跳出循环语句

    for i in range(1,10):
        print(i)
        if i == 5:
            break
    #输出
    1
    2
    3
    4
    5
    
  • continue用来跳过本次循环,直接进行下一次循环

    for i in range(1,10):
        if i == 5:
            continue
        print(i)
    #输出
    

1
2
3
4
6
7
8
9




## while...else....

## for...else...

- 当while或者for内的语句块执行完时(包括条件不符合,0次循环),执行else内的语句块。如果循环遇到break或者return跳出循环后不执行else内的语句块。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值