头歌 实验六 多重循环

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

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

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

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

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

  1. 输出阶乘等式

任务描述
本关任务:输入x
输出从1!到x!等式
例如输入10
输出
在这里插入图片描述

x=eval(input())
#代码开始
for i in range(1,x+1):
    y,k=1,''
    for j in range(1,i+1):
        y *= j
        if j != 1:
            k = k+'*'+str(j)
        else:
            k = k+str(j)
    print('{}!={}={}'.format(i,k,y))

#代码结束
  1. 输出符合要求的数字

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

x=eval(input())
#代码开始
list = [0,1,2,3,4,5,6,7,8,9]
a = list[0:(x+1)]
count = 0
for i in range(1,x+1):
    for j in range(0,x+1):
        if a[j] != a[i]:
            s = str(a[i])+str(a[j])
        else:
            continue
        for k in range(0,x+1):
            if a[k] != a[i] and a[k] != a[j]:
                m = s+str(a[k])+' '
                count += 1
                print(m,end=''if count%10 != 0 else '\n')
            else:
                continue

#代码结束
  1. 鸡兔同笼问题

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

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

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

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

t=eval(input())
j=eval(input())
#代码开始
if 2*t >= j:
    print("无解")
else:
    for x in range(1,t):
        y = t - x
        if 2*x + 4*y == j:
            print("鸡" + str(x) +"只兔子" + str(y) + "只")
#代码结束

  1. 剩余最短木料

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

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

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

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

s=eval(input())
#代码开始
if s>=42:
    x1 = (s-42)//23
    x2 = (s-42)%23
    if x2+x1*4<19:
        n1 =1
        n2 =x1 +1
        zx = x2
    elif x2 >19:
        n1 = 2
        n2 = x1+1
        zx = x2 -19
    else:
        for i in range(1,x1+1):
            if x2+4*i>=19:
                n1 = i+2
                n2 = x1-i+1
                zx = (x2+4*i)%19
                break
else:
    print("木材不符合")
#代码结束
print("19米{}段,23米{}段,剩余{}米".format(n1,n2,zx))

  1. 打印图形

任务描述
本关任务:编写一个能计打印图形的小程序。
输入大写字母,打印一个相关图形
例如,输入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;
预期输出:在这里插入图片描述

zm=input("")
#代码开始
zm = ord(zm)-64
for i in range(int(zm)):
    for j in range(1,zm-i):
        print(" ",end="")
    for k in range(i):
        print(chr(65+k),end="")
    for l in range(i+1):
        print(chr(65+i-l),end="")
    print()

#代码结束

  1. 逻辑推断

任务描述
本关任务:
一位法官在审理一起盗窃案时,对涉及到的四名嫌疑犯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 (0,1):
    for b in (0,1):
        for c in (0,1):
            for d in (0,1):
                x=(b==1 or c==1 or d==1)
                y=(b==0 and c==1)
                z=(a==1 or d==1)
                if((x and z and not y)or(y and not x and not z)) and a+b+c+d==1:
                    if a==1:
                        print("A是罪犯")
                    elif b==1:
                        print("B是罪犯")
                    elif c==1:
                        print("C是罪犯")
                    else:
                        print("D是罪犯")
                
 
 
 #代码结束
  1. 多人唐诗作品标题

任务描述
本关任务:
在唐诗.txt文件,如下图所示。每首诗的标题为序号诗人冒号诗名。
在这里插入图片描述
编写程序,输入诗人姓名,显示该诗人所写的诗的标题,以及作品数,如图所示。
如果该诗人没有作品,显示无作品。
要求能够循环输入诗人姓名进行查找,直到输入空串为止。
在这里插入图片描述
提示:
查询完一位诗人后需要通过f1.seek(0)将文件指针移到文件的开始处

f1=open("sy6//唐诗.txt","r",encoding="utf-8")
# x=input("诗人姓名")

#代码开始
while True:
    x = input("诗人姓名")
    count= 0
    f1.seek(0)
    if x=="":
        break
    for line in f1.readlines():
        line=line.strip('\n')
        if(line.find(x)!=-1):
            count += 1
            print(line)
    if count!=0:
        print("一共{}首".format(count))
    else:
        print("无作品")
#代码结束
f1.close()
  • 19
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
头歌python实验七是一项关于数据分析的实验。在这个实验中,我们将使用Python编程语言来分析和处理数据。 实验七主要有以下几个部分。首先,我们将学习如何读取和处理CSV文件。CSV文件是一种常见的数据存储格式,在数据分析中应用广泛。我们将学习如何使用Python中的pandas库来读取和处理CSV文件中的数据。 接下来,我们将学习如何绘制各种类型的图表,如折线图、柱状图和散点图。图表是一种直观展示数据的方式,可以帮助我们分析数据的趋势和关系。我们将使用Python中的matplotlib库和seaborn库来绘制这些图表。 然后,我们将学习如何进行数据清洗和数据处理。数据往往会存在缺失值和异常值,我们需要对其进行清理和处理,以提高数据的质量和准确性。我们将学习如何使用Python中的pandas库进行数据清洗和处理。 最后,我们将学习如何进行数据分析和统计。数据分析是从数据中提取有用信息的过程,而统计是对数据进行量化和描述的方法。我们将学习如何使用Python中的numpy库和scipy库进行数据分析和统计。 实验七将通过多个实例来帮助我们理解和掌握这些数据分析的方法和技巧。通过完成实验七,我们将能够利用Python进行数据分析,并得到有关数据的深入洞察。数据分析在实际应用中非常重要,能够帮助我们做出正确的决策和判断。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值