目录
一、知识点概要
1.分支结构
核心思想:
根据条件判断结果选择程序执行语句。
常用结构:
· 1.)if...
· 2.)if...else...
· 3.)if...elif...elif...else
· 4.)block1 if... else... block2
2.循环结构
核心思想:
重复执行某一特定语句或语句模块。
常用结构:
循环:
· 1.)while
· 2.) for
终止:
· 1.) break
` 2.) continue
- break语句是跳出当层循环,不再继续执行;
- 而continue语句则是跳出当层循环一次,之后会继续执行;
- while...else...语句中,通过在循环体中嵌入break语句,可通过结果是否执行else语句判断循环体内语句最终是否执行完全。
3.分支循环
核心思想:
将条件语句以及循环语句通过组合实现条件循环,解决特定问题。
重要工具:
·1.)思维导图
·2.)流程图
二、代码示例
1.回文数
回文数是指指正序(从左向右)和倒序(从右向左)读都是一样的整数。
#为了避免污染原数据,考虑引入一个新的临时变量temp用于存储计算
num = int(input("请输入一个整数:"))
temp = num.copy()
#将不符合条件的数字排出在外
if temp < 0 or (temp % 10 == 0 and temp != 0):
print(num,"不是回文数",sep="")
else:
revertedNumber = 0
while temp>revertedNumber:
revertedNumber = revertedNumber*10 + temp%10
temp //= 10
if revertedNumber == temp or revertedNumber//10:
print(num,"是回文数")
else:
print(num,"不是回文数")
2.水仙花数
水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身
(例如:1^3 + 5^3+ 3^3 = 153)。”
- 方法一:
for num in range(100,1000):
if num == (num//100)**3+((num//10)%10)**3+(num%10)**3:
print(num)
else:
continue
- 方法二:
num = str(input("请输入需要判断的数字:"))
"是回文数" if num == num[::-1] else "不是回文数"
3.杨辉三角
# 1. 初始化一个10*10的矩阵用于存储
triangle = [] #首先初始化一个一维空列表
for i in range(10): #外层循环,定义矩阵行
triangle.append([]) #首先将列表初始化为包含10个空列表元素的一维列表
for j in range(10): #内层循环,定义矩阵列
triangle[i].append(0) #其次将每个外层循环元素初始化包含10个0作为初始元素的二维列表
# 2. 将左右两边元素赋值为1
for i in range(10): #通过观察杨辉三角可知最外侧元素均为1
triangle[i][0] = 1 #将最左侧元素赋值为1
triangle[i][i] = 1 #将最右侧元素赋值为1
# 3. 为其他元素赋值
for i in range(2,10): #从第三行元素开始为其他元素赋值
for j in range(1,i): #range()函数遍历可迭代对象为左闭右开,因端点处数值均为1,故此处遍历范围为(1,i)
triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j] # **杨辉三角中元素特定关系
# 4. 输出杨辉三角
for i in range(10): #循环遍历,控制行元素的打印
for m in range((10-i)//2): #每行通过“tab”分隔,第i行“tab”个数为(10-i)//2,由于为取整,故相邻两元素最前的“tab”间隔个数相同
print("\t",end="")
for j in range(i+1): #循环遍历,控制列打印每个元素
if i % 2 == 1: #条件判断
print(" ",end="") #将偶数行使用四个间隔与相邻行错开
print(triangle[i][j],end = "\t") #打印每一个元素,同时使用“tab”间隔
print(" ")#内层循环完后进行换行