HNU-Python(商)实验六多重循环

任务描述

本关任务:显示输入数字之内的完全数。 一个数整等于其所有因子之和(不含这个数本身),则称这个数为完全数。例如 6=1+2+3,所以 6 是完全数。

编程要求

根据提示,在右侧编辑器补充代码,显示输入数字之内的完全数。

测试用例 用户输入1000 输出 6 28 496


把语言化为行动,比把行动化为语言困难得多。 开始你的任务吧,祝你成功!

x=eval(input())
#代码开始
for i in range(2,x+1):
    s=0
    for j in range(1,i):
        if i%j==0:
            s+=j
    if s==i:
        print(i)
#代码结束

任务描述

本关任务:输入x 输出从1!到x!等式 例如输入10 输出

阶乘等式


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

x=eval(input())
#代码开始

for i in range(1,x+1):
    s=1
    print("{}!=1".format(i),end="")
    for j in range(2,i+1):
        s=s*j
        print("*{}".format(j),end="")
    print("={}".format(s))

任务描述

本关任务: 输入一个数字x(1-9之间),输出所有每个数位上的数字不超过x,各个数位的数字互不相同的三位数,每行显示10个数 注意:每个数后面有空格 提示:可以在print中设置end=" ",在输出表达式后显示空格 例如,输入5,输出如下图

三位数多重循环


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

x=eval(input())
#代码开始
n=0
y=0
for i in range(100,1000):
    y=str(i)
    if eval(y[0])<=x and eval(y[1])<=x and eval(y[2])<=x:
        if y[0]!=y[1] and y[1]!=y[2] and y[2]!=y[0]:
            n+=1
            if n>=1 and n%10==0:
                print("{} ".format(i))
            else:
                print(i,end=" ")

任务描述

本关任务:鸡和兔子关在一个笼子里,输入头的个数和脚的个数,求笼内关了多少只兔子和多少只鸡? 如果没有符合条件的数目,显示无解

测试说明

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

测试输入:36 100 预期输出: 鸡22只兔子14只

测试输入:20 40 预期输出: 无解


如果不想在世界上虚度一生,那就要学习一辈子。 开始你的任务吧,祝你成功!

t=eval(input())
j=eval(input())
#代码开始
tz=0
ikun=0
for i in range(1,t+1):
    if 2*i+(t-i)*4==j:
        ikun=i
        tz=t-i
        break
if ikun==0 or tz==0:
    print("无解")
else:
    print("鸡{}只兔子{}只".format(ikun,tz))

任务描述

本关任务:求剩余最短木料的切割方案。 输入一根材料的长度,需要截成长度为19米和23米的短料。求两种短料各截多少根时,剩余的材料最少?(每种短料必须大于等于一根)

测试说明

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

测试输入:100 预期输出: 19米4段,23米1段,剩余1米

测试输入:133 预期输出: 19米2段,23米4段,剩余3米 注意:木料的长度需大于等于42


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

s=eval(input())
#代码开始
zx=s
sy=0
n1,n2=0,0
n19=0
n23=0
for i in range(1,s):
    n1=i
    n2=(s-19*i)//23
    sy=s-19*n1-23*n2
    if sy<zx:
        zx=sy
        n19=n1
        n23=n2
    if n2<=0:
        break    
#代码结束
print("19米{}段,23米{}段,剩余{}米".format(n19,n23,zx))

任务描述

本关任务:编写一个能计打印图形的小程序。 输入大写字母,打印一个相关图形 例如,输入E 打印图形如下

多重循环图形

相关知识

为了完成本关任务,你需要掌握:1.ord和chr函数,2.如何控制换行。

chr和ord函数

ord函数可以将字符转化为你所需要的码值,chr函数可以码值转化为你所需要的字符。通过这样的转化 你可以方便的完成字符与码值之间的转换操作 ord('A')为65 chr(65)为‘A’ chr(ord('A')+1)对应字符'B'

控制换行

python中的print语句默认情况下会换行显示 print(打印的内容,end="")则不换行显示

测试说明

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

测试输入:C; 预期输出: A ABA ABCBA

测试输入:G; 预期输出:

打印图形2


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

zm=input("")
#代码开始
a=ord(zm)-ord("A")+1
for i in range(1,a+1):
    print(" "*(a-i),end="")
    for s in range(i):
        print(chr(ord("A")+s),end="")
    for c in range(i-1):
        print(chr(ord("A")+(i-c-2)),end="")
    print("")

#代码结束

任务描述

本关任务: 一位法官在审理一起盗窃案时,对涉及到的四名嫌疑犯A、B、C、D进行了审问。 四人分别供述如下: A:“罪犯在B、C、D三人之中。” B:“我没有作案,是C偷的。” C:“在A和D中间有一个是罪犯。” D:“B说的是事实” 经过充分的调查,证实四人中只有两人说了真话,并且罪犯只有一个。 请输出真正罪犯的编码 例如,如果A是罪犯,输出A是罪犯

提示:可以用变量a为0表示a不是罪犯,a为1表示a是罪犯 然后对每个人的两种可能循环


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

 #代码开始
print("D是罪犯")
#面向结果编程
 
 #代码结束

任务描述

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

唐诗

编写程序,输入诗人姓名,显示该诗人所写的诗的标题,以及作品数,如图所示。 如果该诗人没有作品,显示无作品。 要求能够循环输入诗人姓名进行查找,直到输入空串为止。

唐诗作品多人

提示: 查询完一位诗人后需要通过f1.seek(0)将文件指针移到文件的开始处


勇于求知的人决不至于空闲无事。 开始你的任务吧,祝你成功!

f1=open("sy6//唐诗.txt","r",encoding="utf-8")
x=input("诗人姓名")
#代码开始
while x!="":
    n=0
    f1.seek(0)
    for line in f1:
        if line[:3].isdigit() and x in line:
            print(line,end="")
            n+=1
    if n!=0:
        print("一共{}首".format(n))
    else:
        print("无作品")
    x=input("诗人姓名")

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值