第1关:斐波那契数列

根据提示,在右侧编辑器补充代码,输入x,输出第x个斐波那契数列。 注意:斐波那契数列的第一项和第二项为1

x=eval(input("")) 
#代码开始
a=1
b=1
ans=1
for i in range(2,x):
    ans=a+b
    a=b
    b=ans
print(ans)
#代码结束


 第2关:统计一段英文语句中的单词数和句子数

 本关任务:编写一个小程序,输入一段英文短语,统计其中的单词数目和句子数目。

x=input()
#代码开始
t=" "

cy=0
jz=0
for c in x:
    if(c.isalpha()and((t==" " or t=="." or t=="!" or t=="?" or t=="," or t==";" or t== '"' ))):
        cy=cy+1
    if(c=="." or c=="!" or c=="?"):
        jz=jz+1
    t=c

#代码结束
print("单词{}句子{}".format(cy,jz))

 第3关:密码判断

根据提示,在右侧编辑器补充代码,实现检测用户名和密码的功能。 注意:str.strip('\n')去掉字符串首尾的换行符

f1=open("sy5/密码.txt","r",encoding="utf-8")
x=input("用户名")
y=input("密码")
#代码开始
t =False
for line in f1:
    line=line.strip('\n')
    p=line.find(',')
    if(x==line[:p]and y==line[p+1:]):
        t=True
if(t):
    print("密码正确")
else:
    print("用户名或密码错误")
#代码结束
    

    
    

第4关:通过数列求自然常数e 

 本关任务: 编写程序,根据近似公式 e≈1+1/(1!)+1/(2!)+1/(3!)+… +1/(n!) 计算 e 的近似值,要求直至最后一项的值小于 1e-7 次方为止

s=1
#代码开始
t=1
n=1
m=1
while(t>1e-7):
    t=1/n
    s=s+t
    m=m+1
    n=n*m

#代码结束
print("e值为{:.8}".format(s))

 
第5关:双倍余额递减法计算固定资产折旧

 本关任务:编写一个使用双倍余额递减法计算固定资产折旧的小程序。

yj=eval(input("原价"))
cz=eval(input("残值"))
n=eval(input("年限"))
#代码开始
a=2/n
q= yj*a

print("第 1年折旧%.2f"% q)
y=1
yj=yj-q

while(y<n-2):
    y=y+1
    q= yj*a
    if(y>=10):
        print("第%d年折旧%.2f"%(y,q))
    else:
        print("第 %d年折旧%.2f"%(y,q))
    yj=yj-q
    
yj=yj-cz
y=y+1
if(y>=10):
    print("第%d年折旧%.2f"%(y,yj/2))
else:
    print("第 %d年折旧%.2f"%(y,yj/2))


y=y+1
if(y>=10):
    print("第%d年折旧%.2f"%(y,yj/2))
else:
    print("第 %d年折旧%.2f"%(y,yj/2))
   
#代码结束
    
    


第6关:销售统计

本关任务:循环输入商品编号、数量和价格,进行累加。 只到输入商品编号为0000为止。 输出商品种类、数量总计和金额总计。 

spbh=input("输入商品代码")
s=0
c=0
sl=0
#代码开始
while(spbh!="0000"):
    a=input("输入商品价格")
    b=input("输入商品数量")
    c=c+1
    sl=sl+int(b)
    s=s+int(a)*int(b)
    spbh=input("输入商品代码")
#代码结束
print("商品种类{}数量总计{}金额总计{:.2f}".format(c,sl,s))


第7关:投资年限计算 

 本关任务:编写一个计算投资年限的小程序 某客户每年年初在银行存入一笔固定金额的钱m,在年底,将本金和利息取出.在第二年年初,将该笔钱与新存入的钱m一起,再存入银行。输入每年存款m、年利率r,再输入用户要得到的金额x,计算该客户需要存放多少年y才能得到需要的金额。 例如,输入存款10000,年利率0.1,金额100000,输出7 输入存款50000,年利率0.05,金额500000,输出8。

m=eval(input("存款"))
r=eval(input("年利率"))
x=eval(input("金额"))
#代码开始
ans=0
n=0
while(ans<x):
    ans=(ans+m)*r+ans+m
    n=n+1
#代码结束
print(n)


第8关:诗人作品统计 

 本关任务: 在唐诗.txt文件,如下图所示。每首诗的标题为序号诗人冒号诗名。

f1=open("sy5//唐诗.txt","r")
x=input("输入作者")
#代码开始
t =True
l=len(x)
ans=0
for line in f1:
    line=line.strip('\n')
    m=line[3:3+l]
    if(m==x):
        t=False
        print(line)
        ans=ans+1
if(t):
    print("无作品")
else:
    print("作品数 %d"%ans)


#代码结束

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐