实训之多重循环"/>
python头歌实训之多重循环
1.显示输入数字之内的完全数
x=eval(input())
#代码开始
for j in range(1,x+1):su = 1for i in range(1,j//2+1):if j % i == 0 and i != 1:su += iif su == j and su != 1:print(su)
#代码结束
2.输出阶乘等式
import math
x=eval(input())
#代码开始
for i in range(1,x+1):x = ""m = str(math.factorial(i))for j in range (1,i+1):if j < i:y = str(j)+'*'else:y = str(j)x += yprint("{}!=".format(i)+x+'='+m)
#代码结束
3.输出符合要求的数字
st=eval(input())
m,n=1,0
#代码开始
for j in range(100,1000):x = j//100y = j//10-x*10z = j%10n = mif x != y and y != z and x != z and x<=st and y<=st and z<=st:print(j,end=" ")m+=1if m%10 == 1 and n != m:print("")
#代码结束
4.鸡兔同笼问题
t=eval(input())
j=eval(input())
#代码开始
ta = False
for i in range(1,t):x= i*4 + (t - i)*2if j == x:print("鸡{}只兔子{}只".format(t-i,i))ta = True
if ta == False:print("无解")
#代码结束
5.剩余最短木料
s=eval(input())
#代码开始
n=s//19
ma=s
o=0
for i in range(1,n+1):zx = (s - i*19)%23if zx < ma and (s-i*19)//23!=0:o = ima = zx
n1=o
n2=(s-n1*19)//23
zx=s-n1*19-n2*23
print("19米{}段,23米{}段,剩余{}米".format(n1,n2,zx))
#代码结束
6.打印图形
zm=input("")
#代码开始
h=ord(zm)-64
for i in range(h):x1,x2,W="","",""for j in range(h):if j-i > 0: x1 += " "else:ch = chr(ord('A')+i-j)x1 += chx2 = x1[:0:-1]W = x2+x1.strip(' ')print(W)
#代码结束
7.逻辑推断
#代码开始
for a in range(2):for b in range(2):for c in range(2):for d in range(2):if a + b + c + d == 1:if (b == 1 or c == 1 or d == 1)+2*(b == 0 and c == 1)+(a == 1 or d == 1) == 2:if a == 1:print('A是罪犯')elif b == 1:print('B是罪犯')elif c == 1:print('C是罪犯')elif d == 1:print('D是罪犯')#代码结束
8.多人唐诗作品标题
f1=open("sy6//唐诗.txt","r",encoding="utf-8")
x="卧槽"
while x !="":x=input("诗人姓名")n = 0for line in f1: la = line.find(':')if la >= 0 and line[3:la] == x:n += 1print(line.strip("\n"))if n > 0:print("一共{}首".format(n))elif n<= 0 and x !="":print("无作品") f1.seek(0)
f1.close()
更多推荐
python头歌实训之多重循环
发布评论