Jenny’s third study
学习python的第三次记录,小编每天都有在学习,但是这几天因为参加公司的培训,开启了类似于 ’ 996 ’ 的上班模式,😔😔~~。所以晚更啦 😊😊
废话少说,进入主题~
第一题: 已知:Sn=1+1/2+1/3+…+1/n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。现在给出一个整数K(1<=n<=15),要求计算出一个最小的 n,使得 Sn > K。
k=int(input("请输入一个整数:"))
Sn=[] #建立一个空的列表,用来存储Sn中的各个加数
n=0
for i in range(10000):
n+=1
Sn.append(1/n)
if sum(Sn) > k:
print('使得Sn>K的最小n值为:'+str(n))
break
print(Sn)
print(sum(Sn))
解题思路: 先思考怎么让电脑记住1+1/2+1/3+…+1/n 这一个个加数(也就是这几个数值的存储方式),列表可以存储变量数据,所以用一个空列表来存放。🧓🏻接下去思路就简单了,重复执行多次,生成这些加数,生成一个就添加进列表,在这过程中还要考虑: 如果sum(Sn)的值大于我们随便输入的一个整数K,那就结束循坏,输出题干所需要的数值。
*第二题: 使用“ * ”打印三角形如下图形状
rows = int(input('输入列数:'))
i=1 #第几列
while i<=rows:
x=rows-i
y=i*2-1
print(" "*x+"*"*y)
i +=1
解题思路: 观察图片可知,每一行都是由空格,和★的个数组成,主要就是找到这两个符号,与列数的关系,就可以了很好🎈
————————————————————————————
至此,就先结束了👻