本文最后更新于:2024年5月18日 下午
Python语言基础-流程控制 Python语言的基础流程控制包括条件语句(if语句)、循环语句(for循环和while循环)以及跳转语句(break、continue和return语句)。即:
条件语句(if语句) :if语句用于根据条件执行代码块。它可以包含一个或多个条件以及相应的代码块。Python使用缩进来表示代码块。
1 2 3 4 5 6 if condition1: elif condition2: else :
循环语句 :
for循环 :用于迭代可迭代对象(如列表、元组、字典等)中的元素。
while循环 :在条件为真时重复执行代码块,直到条件为假为止。
跳转语句 :
break语句 :用于跳出循环,即使循环条件没有变为False。
continue语句 :用于跳过循环体中的剩余代码,继续下一次循环。
return语句 :用于从函数中返回值,并结束函数的执行。
这些是Python中基础的流程控制结构,它们可以帮助你编写更加灵活和功能强大的程序。
some demos:
1.计算平均成绩代码:
1 2 3 4 5 6 7 8 9 10 11 total=0 ;ave=0 ;count=0 ; score=int (input ("请输入学生英语成绩:" ))while score != -1 : total=total+score count=count+1 score=int (input ("请输入学生英语成绩:" ))if count != 0 : average = total / count print ("录入学生英语成绩 %d 份,学生英语总成绩 %d,平均成绩 %4.2f." % (count, total, average))else : print ("没有录入学生英语成绩。" )
代码逻辑:首先输入第一个学生的成绩然后进入while循环,输入完所有数据后输入-1跳出循环,计算并输出结果
优化:average = total / count 后加上判断条件避免除零错误-1
2.列表输出代码:
1 2 3 4 5 universities = ['哈佛大学' ,'斯坦福大学' ,'剑桥大学' ,'麻省理工学院' ,'加州大学-伯克利' ,'普林\ 斯顿大学' ,'牛津大学' ,'哥伦比亚大学' ,'加州理工学院' ,'芝加哥大学' ]print ("2017《Times》世界大学排名前3的大学是:" )for i in range (3 ): print (str (i+1 )+"." ,universities[i])
代码逻辑:首先定义了一个包含了若干大学名称的列表,然后通过一个循环打印出了这个列表中前6个元素(大学名称),每个元素前面带有相应的排名
3.猜数字大小代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 import random key = random.randint(1 ,100 )print ('------猜数字游戏开始!------' ) count = 0 x= int (input ('请输入数字:' ))while True : if not x.isdigit(): print ('请输入一个有效的数字!' ) continue count = count + 1 if x > key: print ('您猜的数字大了!' ) elif x < key: print ('您猜的数字小了!' ) else : print ('恭喜您,猜对了!' ) break if count >= 5 : print ('很遗憾,您没猜中!生成数字是:%d.' %key) break x=int (input ("请输入数字:" ))
4.斐波那契数列代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 n1=1 n2=1 count=2 print ("斐波那契数列前10项为:" ,end=" " )print (n1,n2,end=" " )while True : if count>=10 : break nth=n1+n2 print (nth,end=" " ) n1=n2 n2=nth count+=1
代码逻辑:首先定义了 n1=1、n2=1、count=2,然后使用 print() 函数输出前两项的值,并设置 end=” “,使得输出不换行而是在同一行显示。接着进入一个 while 的循环,每次循环计算下一个斐波那契数,并输出该数,然后更新 n1、n2 的值,同时 count 加一,直到 count 达到 10 时退出循环.
OR:
1 2 3 4 5 6 7 8 def fibonacci (n ): fib_seq = [0 , 1 ] for i in range (2 , n): fib_seq.append(fib_seq[-1 ] + fib_seq[-2 ]) return fib_seq Fib_seq = fibonacci(50 ) print ("斐波那契数列的前 50 位数字:" , Fib_seq)
5.模拟自动饮料机代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 import sys 投币 = int (input ("请投币:" ))while True : if 投币 == 0 : print ("叮咚:设备停止工作!" ) break ; elif 投币 == 1 : 叮咚 = "冰露纯净水" elif 投币 == 2 : 叮咚 = "农夫山泉矿泉水" elif 投币 == 3 : 叮咚 = "冰红茶" elif 投币 == 4 : 叮咚 = "脉动" elif 投币 == 5 : 叮咚 = "红牛" else : 叮咚 = "投币错误!请重新投币..." print ("叮咚:" , 叮咚) 投币 = int (input ("请投币:" ))
代码逻辑:使用int(input(“请投币:”))语句,提示用户输入投币金额,并将输入的字符串转换为整数。使用while True:建立了一个无限循环,直到用户选择停止购买或投币金额为0时才会退出循环。 根据用户输入的投币金额,使用if-elif-else语句进行条件判断,确定对应的饮料,并输出相应信息。
6.数列求和代码:
1 2 3 4 5 6 7 8 i = 1 ; n = 10 ; sum = 0 while i <= n: if i % 2 == 1 : i = i + 1 continue sum = sum + i i = i + 1 print ("sum=" ,sum )
代码逻辑:计算从1到10(包括1和10)之间所有偶数的和。continue 语句是关键,它确保了只有偶数会被加到 sum 变量中,而奇数则会被跳过。
优化:①变量名 sum 覆盖了 Python 内置函数 sum(),最好避免使用内置函数名作为变量名。
②i 的更新在两个地方出现了,可以简化为循环的 for 形式。
1 2 3 4 5 n = 10 total_sum = 0 for i in range (2 , n + 1 , 2 ): total_sum += iprint ("sum =" , total_sum)
7.输出对角线元素为1 的4 行4 列矩阵代码:
1 2 3 4 5 6 7 for i in range (1 ,5 ): for j in range (1 ,5 ): if i==j or i+j==5 : print ("1" ,end=' ' ) else : print ("0" ,end=' ' ) print ()
代码逻辑;嵌套循环,在内层循环中,通过判断条件来确定当前位置应该打印1还是0:若当前位置位于主对角线(i == j)或副对角线(i + j == 5),则打印1。否则,打印0。
8.通过for 循环打印99 乘法表代码:
1 2 3 4 5 for i in range (1 ,10 ): for j in range (1 ,i+1 ): total=i*j print (f"{j} *{i} ={i*j} " ,end=' ' ) print ()
代码逻辑:使用两层嵌套的 for 循环。外层循环控制行数(从1到9),内层循环控制每行中的列数(也是从1到行号)。最后使用 f-string 格式化字符串打印结果。
11.打印如下所示的菱形代码:
1 2 3 4 5 6 7 for i in range (1 , 5 ): print (" " * (4 - i) + "*" * (2 * i - 1 )) for i in range (3 , 0 , -1 ): print (" " * (4 - i) + "*" * (2 * i - 1 ))
代码逻辑:
上半部分:使用for循环迭代从1到4的范围,控制菱形上半部分的行数。在每一行中,通过” “(4-i)打印一定数量的空格,使得菱形居中对齐。使用 “ “ * (2 * i - 1) 打印一定数量的星号,构成菱形上半部分的每一行。
下半部分:使用 for 循环迭代从3到1的范围(步长为-1),控制菱形下半部分的行数。在每一行中,同样通过 “ “ * (4 - i) 打印一定数量的空格,使得菱形居中对齐。使用 “*” * (2 * i - 1) 打印一定数量的星号,构成菱形下半部分的每一行。
结果:
小记:打牢基础!!!
Python 的流程控制对于控制程序执行流程非常重要。在学习 Python 的流程控制时,对于条件语句 (if-elif-else)、循环语句 (for、while)、以及控制语句 (break、continue) 等基本知识的掌握十分重要。在编写代码时,合理运用这些流程控制结构可以让代码更加清晰、简洁,同时实现不同的逻辑要求。同时,准确理解语句块的缩进在 Python 中尤为重要,因为它决定了哪些语句属于同一个语句块,也能让我们更好了解代码逻辑。同时,在学习这一内容时,我认为对于基础语句的规则和使用场景的理解需要着重学习。