python——流程控制语句

本文深入探讨了if-else条件语句的四种基本格式及其执行流程,包括单if、单if-else、多if-else及if-elif结构,并通过实例展示了如何使用这些结构进行猜拳游戏的胜负判断。此外,还介绍了while和for循环语句的使用场景和语法,通过99乘法表、素数判断、水仙花数查找等实例,展现了循环语句的强大功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.if-else条件语句

条件语句,条件满足,执行一部分代码,不满足,执行另一部分代码 

四种基本格式:

(1)单if

... ①

if 条件:

      条件满足时执行的代码...②

...③ 

     执行顺序:

     S1:执行①

     S2:判断条件,如果条件满足则执行②,然后跳转S3;否则跳转S3

     S3:执行③ 

(2) 单if-else 

...①

if 条件:

       条件满足时执行的代码...②

else: 条件不满足时执行的代码...③

...④ 

   执行顺序:  

   S1:执行①

   S2:判断条件,如果条件满足执行②,然后跳转S4;否则跳转S3

   S3:执行③,然后跳转S4

   S4:执行④ 

(3) 多if-else

...①

if 条件1:

      条件1满足时执行的代码...②

else if 条件2:

        条件2满足时执行的代码...③

else: 条件2不满足时执行的代码...④

...⑤  

     执行顺序:

     S1:执行①

     S2:判断条件1,如果条件1满足执行②,然后跳转S5;否则跳转S3

     S3:判断条件2,如果条件2满足执行③,然后跳转S5;否则跳转S4

     S4:执行④,然后跳转S5

     S5:执行⑤ 

(4) if-elif 

...①

if 条件1:

      条件1满足时执行的代码...②

elif 条件2:

     条件2满足时执行的代码...③

else:

    条件2不满足时执行的代码...④

...⑤ 

     执行顺序:

    S1:执行①

   S2:判断条件1,如果条件1满足执行②,然后跳转S5;否则跳转S3

   S3:判断条件2,如果条件2满足执行③,然后跳转S5;否则跳转S4

   S4:执行④,然后跳转S5

   S5:执行⑤

'''
7.猜拳游戏

石头 剪刀 布
 0    1   2
 数据:
    unum 0 1 2
    cnum 0 1 2
'''
import random
unum=int(input("石头(0),剪刀(1),布(2) 请选择:"))
cnum=random.randint(0,2) #[0,2)

l=["石头","剪刀","布"]

print("用户:%s"%l[unum])
print("电脑:%s"%l[cnum])
if unum==0 and cnum==1:
	print("赢了!")
elif unum==0 and cnum==2:
	print("输了!")
elif unum==1 and cnum==2:
	print("赢了!")
elif unum==1 and cnum==0:
	print("输了!")
elif unum==2 and cnum==0:
	print("赢了!")
elif unum==2 and cnum==1:
	print("输了!")
else:
    print("平局!")

2.while循环语句
当有重复执行的代码存在时,可用循环语句替代

while循环,一般用于循环次数未知,循环结束条件已知的情况

          while 条件:

                条件满足时循环执行的代码


3.for循环语句 

一般用于循环次数已知,结束条件未知的情况下,通常用于遍历

          for 变量 in 序列:

               循环执行的代码



 

'''
打印99乘法表
'''
for i in range(1,10):
	for j in range(1,i+1):
		print("%sX%s=%s"%(i,j,i*j),end="\t")
    print("")
'''
21.编写程序用于判断一个数是否是素数。
所谓素数是指除了能被1和它本身之外不能被其他整 除的数 
1 97
2~96


'''
num=int(input("请输入数字:"))
isSuShu=True        #用布尔类型做标记
for i in range(2,num):
	if num%i==0:
		isSuShu=False
		break
if isSuShu:
	print("是素数!")
else:
    print("不是素数!")
'''
22.打印出所有的"水仙花数",
所谓"水仙花数"是指一个三位数,
其各位数字立方和等于该数本身。例如:153 是一个"水仙花数",
因为153=1的三次方+5的三次方+3的三次方。 
'''
for i in range(100,1000):
	num=i
	a=num%10
	num//=10
	b=num%10
	num//=10
	c=num
	if pow(a,3)+pow(b,3)+pow(c,3)==i:      #pow 求幂
	    print(i)
'''
24.编一程序用以输出所有各位数码阶乘之和等于其自身的三位数。
如:145=1!+4!+5!
5!=5*4*3*2*1
0!=1

'''
for i in range(100,1000):
	num=i
	a=num%10
	num//=10
	b=num%10
	num//=10
	c=num
	asum=1
	for ai in range(1,a+1):
		asum*=i
	bsum=1
	for bi in range(1,b+1):
		bsum*=bi
    csum=1
    for ci in range(1,c+1):
    	csum*=ci
    if asum+bsum+csum==i:
	    print(i)
'''
25.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...
求出这个数列的前20项之和 
'''
sum=0
a=2
b=1
for i in range(20):
	sum=sum+a/b
	temp=a
	a=a+b
	b=temp
print(sum)

4.break和continue跳转语句

  带break的for

name = 'dongGe'  

for x in name:  

    print('----')  

    if x == 'g':  

        break  

    print(x) 

  带break的while

  i = 0

  while i<10:

      i = i+1

      print('----')

      if i==5:

          break

      print(i)

      带continue的for 

     i = 0

    while i<10:

        i = i+1

        print('----')

        if i==5:

             continue

        print(i)
 

    注意:break/continue只能用在循环中,除此以外不能单独使用

               break/continue在嵌套循环中,只对近的一层循环起作用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值