头歌:实验六 多重循环

第1关 显示输入数字之内的完全数

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

第2关 输出阶乘等式

x=eval(input())
s=1
c=0
b="*"
List=[]
#代码开始
for i in range(1,x+1):
    s=s*i
    c=c+1
    Str=str(c)
    List.append(Str)
    print("{}!".format(c),end='')
    print("="+b.join(List)+"=",end='')
    print(s)
#代码结束

第3关 输出符合要求的数字 

n=eval(input())
#代码开始
c=0
for x in range(1,n+1):
    for y in range(0,n+1):
        for z in range(0,n+1):
            if x != y and y != z and z != x:
                d=x*100+y*10+z
                c=c+1
                print(d,end=" ")
                if c%10==0:
                    print(end="\n")
#代码结束

第4关 鸡兔同笼问题

t=eval(input())
j=eval(input())
#代码开始
x=(4*t-j)/2
if t != 0 and (4*t-j) % (x*2) == 0:
    y=t-x
    if x<0 or y<0:
        print("无解")
    else:
        print("鸡{}只兔子{}只".format(int(x),int(y)))
else:
    print("无解")
#代码结束

第5关 剩余最短木料

s=eval(input())
#代码开始
n1=0
n2=0
i=1
num=0
y1=int(s/19)
y2=int(s/23)
zx=s-(y1-1)*19
while y1>=1:
    while i<=y2:
        num=y1*19+i*23
        if num>s:
            break
        else:
            num=s-num
        if num<zx:
            zx=num
            n1=y1
            n2=i
        i+=1
    y1-=1
#代码结束
print("19米{}段,23米{}段,剩余{}米".format(n1,n2,zx))

第6关 打印图形

x=input("")
#代码开始
a=[]
s=0
for i in range(ord('A'),ord(x)):
    s+=1
for i in range(ord('A'),ord(x)+1):
    a.append(chr(i))
    b=[]
    for j in range(0,len(a)-1):
        b.append(a[len(a)-2-j])
    print("%s%s%s"%(" "*s,"".join(a),"".join(b)))
    s-=1
#代码结束

第7关 逻辑推断

 #代码开始
for x in ["A", "B", "C", "D"]:
    if (('B' == x or 'C' == x or 'D' == x) + ('C' == x) + ('A' == x or 'D' == x) + ('C' == x)==2):
        print(str(x)+"是罪犯")
 #代码结束

第8关 多人唐诗作品标题

f1=open("sy6//唐诗.txt","r",encoding="utf-8")


#代码开始
while True:
    x=input("诗人姓名")
    c=0
    if x=='':
        break
    for line in f1:
        if x+':' not in line:
            continue
        else:
            print(line.strip("\n"))
            c+=1
    f1.seek(0)        
    if c>0:
        print("一共%d首"%(c))
    else:
        print("无作品")

#代码结束
f1.close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值