HNU-Python(商)实验六 循环结构二(计算与人工智能概论)

任务描述

本关任务: 秦朝末年,楚汉相争。一次,韩信将1500名将士与楚王大将李锋交战。苦战一场,楚军不敌,败退回营,汉军也死伤四五百人(不低于400不超过500),于是韩信整顿兵马也返回大本营。当行至一山坡,忽有后军来报,说有楚军骑兵追来。只见远方尘土飞扬,杀声震天。汉军本来已十分疲惫,这时队伍大哗。韩信兵马到坡顶,见来敌不足五百骑,便急速点兵迎敌。他命令士兵3人一排,结果多出2名;接着命令士兵5人一排,结果多出3名;他又命令士兵7人一排,结果又多出2名。韩信马上向将士们宣布:我军有x名勇士,敌人不足五百,我们居高临下,以众击寡,一定能打败敌人。汉军本来就信服自己的统帅,这一来更相信韩信是“神仙下凡”、“神机妙算”。于是士气大振。一时间旌旗摇动,鼓声喧天,汉军步步进逼,楚军乱作一团。交战不久,楚军大败而逃。 请帮韩信计算勇士的个数x,并输出共有x名勇士


开始你的任务吧,祝你成功!

#代码开始

for i in range(1000,1101):
    if (i%3==2) and (i%5==3) and (i%7==2):
        print("共有{}名勇士".format(i))

#代码结束

任务描述

本关任务:用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数y为止 注意:不包括最后一项

圆周率

测试说明

平台会对你编写的代码进行测试:

测试输入: 0.0001; 预期输出: 3.1414 提示:绝对值函数是abs


开始你的任务吧,祝你成功!

y=eval(input())
from math import*
#代码开始
a=1
p=0
n=2
while abs(a)>=y:
    p=p+a
    a=((-1)**(n-1))/(2*n-1)
    n+=1
s=p*4
#代码结束
print("{:.4f}".format(s))

任务描述

本关任务:输入a(小于10的整数)和n(项数),计算 a+aa+aaa+aaaa+aaaaa+……(n项)的累加和

测试说明

平台会对你编写的代码进行测试:

测试输入:3 10; 预期输出: 3703703700

测试输入:2 8 预期输出: 24691356


开始你的任务吧,祝你成功!

a=eval(input("输入a"))
n=eval(input("输入n"))
#代码开始
myx=0
s=0
for i in range(1,n+1):
        myx=10*myx+a
        s+=myx



print(s)


#代码结束

任务描述

本关任务:输入一个大于1的整数,编写程序写出其分解质因数的式子。

测试说明

平台会对你编写的代码进行测试:

测试输入:50; 预期输出: 50=2*5*5

测试输入:19; 预期输出: 19=19

测试输入:100; 预期输出: 100=2*2*5*5


开始你的任务吧,祝你成功!

n=eval(input())
#代码开始
print("{}=".format(n),end="")

while n>1:
    for i in range(2,n+1): 
        if n%i==0:
            n=int(n/i)
            if n==1:
                print(i)
            else:
                print("{}*".format(i),end="")
            break
#代码结束

任务描述

本关任务:唐诗文件如下图所示。

唐诗原文

编写程序,输入诗人姓名,显示其作品序号(按顺序统计)、标题和诗句 并在结尾统计诗的数目

唐诗统计结果

注意: 序号是根据诗的顺序计算的,不是唐诗文件中的原始编号 每首诗前面有一空行 所有诗显示后有统计信息 一共x首 提示: 对文件从第一行开始读取 可以设置变量flag 当该行是标题行,且作者是要查找的值,设置flag为1, 当该行是标题行,且作者不是要查找的值,设置flag为0, 当该行不是标题行,flag为1时显示该行


开始你的任务吧,祝你成功!

x=input("诗人姓名")
f1=open("唐诗.txt","r",encoding="GBK")
#代码开始
i=0
flag=0
for line in f1:
    if str.isnumeric(line[0:3]):
        if x in line:
            print("\n",end="")
            i+=1
            flag=1
            line=line.replace(line[:3],str(i)) 
        else:
            flag=0
    if flag==1:
        print(line,end="")
print("一共{}首".format(i))

任务描述

某超市促销,举办空酒瓶和酒瓶盖换酒活动, 规定 2 个空瓶或 4 个瓶盖可换一瓶酒。 若小明最开始买了 n 瓶酒,则他总共能喝到多少瓶酒?

测试说明

平台会对你编写的代码进行测试:

测试输入:10; 预期输出: 35 测试输入:4; 预期输出: 11


开始你的任务吧,祝你成功!

n = int(input())
#代码开始
kp=n
pg=n
ew=0
ew1=0
ew2=0
zew=0
while kp>1 or pg>3:
    ew1=kp//2
    ew2=pg//4
    ew=ew1+ew2
    kp=(kp%2)+ew
    pg=(pg%4)+ew
    zew+=ew

zew+=n
print(zew)

#代码结束

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值