2021-09-16

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

解题思路: 观察图片可知,每一行都是由空格,和★的个数组成,主要就是找到这两个符号,与列数的关系,就可以了很好🎈

————————————————————————————
至此,就先结束了👻

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值