1.杨辉三角形
其实有几个不明白的点,但是总而言之还是把AC的代码放上吧,参考:不会变成恶龙的少年
n=int(input())
nums=[[0]*n for i in range(n)] #定义一个n*n的数组
for i in range(n):
for j in range(n): #两层循环,控制二阶数组
if j==0: #没有列,只有行
nums[i][j]=1
else:
nums[i][j]=nums[i-1][j-1]+nums[i-1][j]
if nums[i][j]!=0: #只输出不是0的部分
print(nums[i][j],end=' ')
print()
思路总结:
1.先定义一个n阶矩阵
2.嵌套双层循环控制二阶矩阵
3.矩阵的数等于两肩相加
4.输出不是零的部分
不懂的点:
1.不懂“两肩相加的意思”
懒得解释
2.最后一个print()输出的控制原理
解释:内层循环结束后,换成下一行输出。意思就是这一行的元素已经完全输出完,跳出内层循环,进入下一层。
错误代码
1.j=0的时候就是这个数为1呀,思维跟着答案走,被固化啦
2.倒数第二行输出忘记加end了!以下为加end后:
没加end时:空格的地方应该是没有输出的0
2.字母图形
本题目主要是三个函数的应用和ASCII码值
1.ord()函数返回单个字符的ASCII值(0~255)
2.chr()函数输入一个整数,返回ASCII符号,与ord作用相反
A是65 a是97 向后以此类推