免费搭建网站模板,外贸企业网站系统,集团网站建设成都,王烨的身份教学案例六 多重循环
1.n之内的素数
输入n#xff0c;显示n之内的所有素数 每行显示10个素数 例如#xff0c;若输入500#xff0c;结果如图所示 neval(input())
#代码开始
c 0for i in range(2, n1):for j in range(2, i):if i % j 0:breakelse:c 1print({:5d}…教学案例六 多重循环
1.n之内的素数
输入n显示n之内的所有素数 每行显示10个素数 例如若输入500结果如图所示 neval(input())
#代码开始
c 0for i in range(2, n1):for j in range(2, i):if i % j 0:breakelse:c 1print({:5d}.format(i), end )if c % 10 0:print()#代码结束
2.打印乘法表
输入x小于10的整数输出x行乘法表 例如输入9显示如下图所示 xeval(input())
#代码开始
for i in range(1,x1):for j in range(1,i1):print(%d*%d%2d%(j,i,i*j),end )print()#代码结束
3.百钱买百鸡
设公鸡每只5元母鸡每只3元小鸡每元3只现用x元钱买y只鸡。 编写一个程序输入x和y算出各买多少只鸡(公鸡、母鸡、小鸡必须都有如果有多个符合条件的结果则都显示出来。如果没有符合条件的结果则显示无解。
xeval(input(钱))
yeval(input(鸡))
#代码开始
c 0
for i in range(1,x):for j in range(1,x):for k in range(3, x, 3):if 5 * i 3 * j k / 3 x and i j k y:c 1print(公鸡%d只母鸡%d只小鸡%d只 % (i,j,k))
if c 0:print(无解)#代码结束
4.逻辑推理竞赛名次
ABCD四个学生参加一次数学竞赛赛后他们四人预测名次如下 A说c第一 我第三 B说我第一D第四 C说我第三D第二 D没有说话 等到最后公布考试成绩时发现他们每人预测对了一半编写程序显示ABCD的名次各名次之间用空格隔开
#代码开始for a in range(1,5):for b in range(1,5):for c in range(1,5):for d in range(1,5):x1 (c1 and a3)x2 (b1 and d4)x3 (c3 and d2)y1 (c1 or a3)y2 (b1 or d4)y3 (c3 or d2)if not x1 and not x2 and not x3 and y1 and y2 and y3:if a!b and a!c and a!b and b!c and b!d and c!d:print(a,b,c,d)#代码结束
5.用户登录密码检验
密码文件如图所示每行存放逗号分隔的用户名和密码。编写一个小程序接受输入的用户名和密码若与文件中的信息相同则显示密码正确。 若文件中没有输入的用户名或输入的密码不正确则显示用户名或密码错误可再次输入。 若输入错误次数达到三次则显示密码错误三次结束程序。 f1open(sy6//密码.txt,r,encodingutf-8)
#代码开始
k 0
flag 0
while True:f1.seek(0)yhm input(用户名)mm input(密码)if yhm ! :for i in f1.readlines():i i.strip(\n)i i.split(,)if yhmi[0] and mmi[1]:print(密码正确)flag 1breakelse:k 1if k 3:print(密码错误三次)breakelse:print(用户名或密码错误)if flag1:break#代码结束
f1.close()
6.选择题 实验六 多重循环
1.显示输入数字之内的完全数
显示输入数字之内的完全数。 一个数整等于其所有因子之和不含这个数本身则称这个数为完全数。例如 6123所以 6 是完全数。
xeval(input())
#代码开始
for i in range(1, x):s 0for j in range(1, i):if i % j 0:s s jif s i:print(i)#代码结束
2.输出阶乘等式
输入x 输出从1!到x!等式 例如输入10 输出 xeval(input())
#代码开始for i in range(1, x 1):s 1print(%s! % i, end )for j in range(1, i 1):s s * jprint(j,end)if i ! j:print(*,end)print(%d% s)#代码结束
3.输出符合要求的数字
输入一个数字x1-9之间输出所有每个数位上的数字不超过x各个数位的数字互不相同的三位数每行显示10个数 注意每个数后面有空格 提示可以在print中设置end 在输出表达式后显示空格 例如输入5输出如下图 xeval(input())
#代码开始
count 0
for i in range(100,1000):a1 i % 10 # 个位a2 i // 10 % 10 # 十位a3 i // 100 # 百位if a1 x and a2 x and a3 x and a1 ! a2 and a1 ! a3 and a2 ! a3:count 1print(i, end )if count % 10 0:print()#代码结束
4.鸡兔同笼问题
鸡和兔子关在一个笼子里输入头的个数和脚的个数求笼内关了多少只兔子和多少只鸡 如果没有符合条件的数目显示无解
teval(input())
jeval(input())
#代码开始
sum1 0
for i in range(1, t):s t - iif 2 * i 4 * s j:sum1 1print(鸡%d只兔子%d只% (i, s))
if sum1 0:print(无解)
#代码结束5.剩余最短木料
求剩余最短木料的切割方案。 输入一根材料的长度需要截成长度为19米和23米的短料。求两种短料各截多少根时剩余的材料最少(每种短料必须大于等于一根
seval(input())
#代码开始
a s // 19
b s // 23
sy 5
for i in range(1, b):for j in range(1, a):if j * 19 i * 23 s:sx s - j * 19 - i * 23if sx sy:n1 jn2 izx sx#代码结束
print(19米{}段,23米{}段,剩余{}米.format(n1,n2,zx))
6.打印图形
编写一个能计打印图形的小程序。 输入大写字母,打印一个相关图形 例如输入E 打印图形如下 zminput()
#代码开始
n ord(zm) - ord(A)
for i in range(0, n1):for j in range(n-i):print( ,end)for x in range(0, i1):print(%s % chr(ord(A) x),end)for y in range(1,i1):print(%s % chr(ord(A) i - y),end)print()
#代码结束7.逻辑推断
一位法官在审理一起盗窃案时对涉及到的四名嫌疑犯A、B、C、D进行了审问。 四人分别供述如下 A“罪犯在B、C、D三人之中。” B“我没有作案是C偷的。” C“在A和D中间有一个是罪犯。” D“B说的是事实” 经过充分的调查证实四人中只有两人说了真话并且罪犯只有一个。 请输出真正罪犯的编码 例如如果A是罪犯输出A是罪犯。
提示可以用变量a为0表示a不是罪犯a为1表示a是罪犯 然后对每个人的两种可能循环。 #代码开始
for a in range(0, 2):for b in range(0, 2):for c in range(0, 2):for d in range(0, 2):if a b c d 1: # 只有一个罪犯,相加等于1if (b1 or c1 or d1)2*(b0 and c1)(a1 or d1)2:if a 1:print(A是罪犯)elif b 1:print(B是罪犯)elif c 1:print(C是罪犯)elif d 1:print(D是罪犯)#代码结束
8.多人唐诗作品标题
在唐诗.txt文件,如下图所示。每首诗的标题为序号诗人冒号诗名。 编写程序输入诗人姓名显示该诗人所写的诗的标题以及作品数如图所示。 如果该诗人没有作品显示无作品。 要求能够循环输入诗人姓名进行查找直到输入空串为止。提示 查询完一位诗人后需要通过f1.seek(0)将文件指针移到文件的开始处。
f1open(sy6//唐诗.txt,r,encodingutf-8)
xinput(诗人姓名)#代码开始
while True:count 0f1.seek(0)if x :breakfor i in f1.readlines():i i.strip(\n)if i.find(x) ! -1:count 1print(i)if count ! 0:print(一共{}首.format(count))else:print(无作品)x input(诗人姓名)#代码结束
f1.close()