#%%
3.1 用单个for,循环十次在同一行内打印十个数字’0 1 2 3 4 5 6 7 8 9 ’
字符之间用单个空格分隔
for i in range(10):
print(i, end=’’)
print(’’)
#%%
3.2 用单个while,循环十次在同一行内打印十个数字’0123456789’
字符之间不留空格
i = 0
while i<10:
print(i, end=’’)
i += 1
print(’’)
#%%
3.3 用单个for配合if条件,循环九次打印下列矩阵:
1 2 3
4 5 6
7 8 9
提示:当循环指标能够被3整除时,输出一个换行符号\n
for i in range(1,10):
print(i, end=’ ‘)
if i%3==0 :
print(’\n’, end=’’)
#%%
3.4 用单个while配合if条件,循环九次打印下列矩阵:
11 12 13
14 15 16
17 18 19
i = 11
while i<20:
print(i, end=’ ‘)
if i%10%3==0 :
print(’\n’, end=’’)
i += 1
i = 1
while i<10:
print(10+i, end=’ ‘)
if i%3==0 :
print(’\n’, end=’’)
i += 1
#%%
3.5 用for,循环十次在同一行内打印10个’=’
for i in range(10):
print(’=’, end=’’)
print(’’)
#%%
3.6 用while,循环十次在同一行内打印10个’*’
i = 0
while i<10:
print(’*’, end=’’)
i += 1
print(’’)
#%%
3.7 用单个for配合if条件,循环12次,
打印下列图案:12个等号,每行4个,
====
====
====
for i in range(1,13):
print(’=’, end=’’)
if(i%4==0):
print(’\n’, end=’’)
#%%
3.8 用单个while配合if条件,循环12次,打印12个星号,每行4个,
****
****
****
i = 1
while i<13:
print(’*’, end=’’)
if(i%4==0):
print(’’)
i += 1
#%%
3.9 用单个for循环打印字符串"甲乙丙丁午己庚辛壬癸"的所有字符。
要求每个字符占据一行
for c in “甲乙丙丁午己庚辛壬癸”:
print©
print(’\n’, end=’’)
#%%
3.10 用双层for循环打印下列乘法表:
1*1=1
21=2 22=4
31=3 32=6 3*3=9
for i in range(1,4):
for j in range(1,i+1):
print(i,’’,j,’=’,ij, sep=’’, end=’ ‘)
print(’’)
#%% 定义函数,打印九九乘法表
def P99():
for i in range(1,10):
for j in range(1,i+1):
print("%1d*%1d=%2d"%(i,j,i*j), end=’ ')
print()
#%% 直接用循环,打印九九乘法表
i = 1
while i<=9:
j = 1
while j<=i:
print(f"{i}{j}={ij}", end=’ ')
j += 1
print()
i += 1
#%% 用for循环计算阶乘 n!
def factor(n):
P = 1
for i in range(2,n+1):
P *= i
return P
#%% 用while循环计算阶乘 n!
def factor(n):
P = 1
i = 2
while i<=n:
P *= i
i += 1
return P
#%% 用递归计算阶乘 n!
def factor(n):
if n<=1:
return 1
return n*factor(n-1)
#%% 计算阶乘前n个自然数的阶乘[0!, 1!,…, n!]
def facN(n):
F = [1]
if n == 0:
return F
tmp = 1
for i in range(1,n+1):
tmp *= i
F.append(tmp)
return F
#%% 斐波那契数列的第 n 项
def fib(n):
“”“f[0]=0 f[1]=1 f[n]=f[n-1]+f[n-2]”""
if n <=1:
return n
a,b = 0,1
for i in range(2,n+1):
a, b = b, a+b
return b
#%% 斐波那契数列的前 n 项
def fibN(n):
if n0:
return [0]
elif n1:
return [0,1]
F = [0,1]
for i in range(2,n+1):
F.append( F[-1]+F[-2] )
return F
#%%
def myCos(x):
“”“利用泰勒展开计算cos(x), 控制精度 |x^n/n!|< 1e-10"”"
sum = 1
term = 1
n = 0
while abs(term)>1e-10:
n += 2
term = -(xx)/n/(n-1)
sum += term
return sum
#%% 计算圆周率 pi = 4*(1 - 1/3 + 1/5 - 1/7 + …)
#控制精度|1/n|<1e-6
def thePi():
sum = 0
sign = 1
n = 1.0
term = sign/n
while abs(term)>1e-6:
sum += term
sign = -sign
n += 2
term = sign/n
return sum*4
珠的学分绩点规则如下:
若分数小于60,则GPA=0
#若分数score>=60, 则 GPA=(score-50)/10
#定义函数,输入score,输出GPA
“”"
def GPA(score):
GPA = 0
if score>=60:
GPA = (score-50)/10
return GPA
#%%
“”"
#在屏幕上打印输出一个半径大于r小于R的圆环,环内用填充
“”"
def circle(R=10, r=5, fill=’’):
for i in range(-R,R+1):
for j in range(-R,R+1):
if r2<i2+j2<R2:
print(fill, end=’ ‘)
else:
print(’ ‘, end=’ ')
print()
return None
#%%
“”"
#输入一个序列seq,查找它内部的所有元素e
#例如,'abcdbcd’中所有的元素 'c’的坐标为 [2,5]
#若序列中没有元素e, 则返回空列表
“”"
def index_all(seq, e):
rt = []
for i,j in enumerate(seq):
if j==e:
rt.append(i)
return rt
#%%
“”"
输入一个阿拉伯整数, 按照中国的习惯以万为单位输出,四位数字一组,间隔以逗号
例如: 输入 12345, 输出 1,2345
输入 987654321,输出 9,8765,4321
“”"
def wan(n, sep=’,’):
n = str(n)
L = len(n)
lst = []
b = L%4
if b>0:
lst = [n[:b],]
for i in range(b,L,4):
lst.append(n[i:i+4])
n = sep.join(lst)
return n