前言
Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆 于1990 年代初设计,作为一门叫做ABC语言的替代品。
[1] Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言
[2] 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发
[3] Python解释器易于扩展,可以使用C语言或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。
[4] Python 也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码.
[5] 2021年10月,语言流行指数的编译器Tiobe将Python加冕为最受欢迎的编程语言,20年来首次将其置于Java、C和JavaScript之上
一、练习一(杨辉三角)
杨辉三角形,是二项式系数在三角形中的一种几何排列。
中国南宋数学家杨辉在 1261 年所著的《详解九章算法》一书有明确记载。
欧洲数学家帕斯卡在 1654 年发现这一规律,所以又叫做帕斯卡三角形。
其定义为:其顶端(第 1 行) 是 1;第 2 行是两个 1;第 3 行是‘1,2,1’,中间的‘2’ 是其上方相邻的两个数字的和
【编程实现】
对于任意输入的 3~15 之间的正整数 n,请编程输出 前 n 行数字、以及由其组成的杨辉三角形。
输入描述:一个正整数 n(2 ≤ n ≤ 15)。
输出描述:由两部分组成。第一部分输出由 n 行数字组成的列表;
第二部分输出n 行数字组成的杨辉三 角形。
代码如下:
def tr_1(x):
tr = [[1],[1,1]]
#初始化前两层数据
n = 3
#从第三层开始满足
while n <= x:
for i in range(0,n - 1):
#列表的第一位下标是0
if i == 0:
tr.append([1,1])
else:
tr[n - 1].insert(i,tr[n - 2][i] + tr[n - 2][i - 1])
#逐层计算
n += 1
return tr
x = 11
tr = tr_1(x)
for i in range(x):
#print(tr[i])
print(' '.join(str(tr[i])).center(100))
方法二:
b=int(input())
a=[[1],[1,1]]
for i in range(2,b):
a.append([])
a[i].append(1)
for j in range(1,i):
a[i].append(a[i-1][j]+a[i-1][j-1])
a[i].append(1)
for i in range(len(a)):
for j in range(len(a)-i-1):
print(' ',end='')
for k in a[i]:
#能够以 3个字符宽度左对齐的方式显示数字k
print('{:<3}'.format(k),end=' ')
print()
二、练习二(约分)
约分是把分数化成最简分数的过程,约分后分数的值不变,
且分子分母的最大公约数为1,若最终结果的分母为1,则直接用整数表示。
两个以逗号分隔输入的整数,可以采用如下方法进行转换、分离:
str = input() nums = eval(str)
【编程实现】
输入:输人两个正整数(以逗号分隔)分别作为分数的分子和分母。
输出:第一行显示输人的分数:第二行显示约分后得到的最简分数,
若分母为1,直接用整数表示。
代码如下:
def gys(m, n):#公因数
for i in range(1,min(m,n) + 1):
if((m % i == 0) and (n % i == 0)):
gys = i
return gys
def yuefen(x,y):
z=gys(x,y)
x=int(x/z)
y=int(y/z)
if y==1:
print(x)
return
print(str(x)+'/'+str(y))
s=input()
nums=eval(s)
fz=nums[0]
fm=nums[1]
print(str(fz)+'/'+str(fm))
yuefen(fz,fm)
三、练习三(圆半径120外接12个菱形60度锐角)
【编程实现】
圆半径120外接12个菱形60度锐角
示例如下图:
代码如下:
from turtle import*
penup()
goto(0,120)
pendown()
speed(15)
for i in range (12):
left(120)
for i in range (2):
pencolor("black")
fillcolor("yellow")
begin_fill()
forward(80)
right(60)
forward(80)
right(120)
end_fill()
right(120)
pencolor("red")
circle(-120,30)
hideturtle()
done()
总结
以上就是今天要讲的内容,本文仅仅练习了三道题,而博主提供了大量的好文章能使我们的python技术更上一层楼,有兴趣的话可以翻看博主之前的文章(不敢吱声)。