返回顶部
首页 > 资讯 > 后端开发 > Python >Python练习-承压计算
  • 199
分享到

Python练习-承压计算

2024-04-02 19:04:59 199人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录一、题目描述二、解题思路三、源码分享四、学习总结一、题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。X 星球的高科技实验室中整齐地堆放着某批珍贵

一、题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
X 星球的高科技实验室中整齐地堆放着某批珍贵金属原料。
每块金属原料的外形、尺寸完全一致,但重量不同。 金属材料被严格地堆放成金字塔形。

                             7 
                            5 8 
                           7 8 8 
                          9 2 7 2 
                         8 1 4 9 1 
                        8 1 8 8 4 1 
                       7 9 6 1 4 5 4 
                      5 6 5 5 6 9 5 6 
                     5 5 4 7 9 3 5 5 1 
                    7 5 7 9 7 4 7 3 3 1 
                   4 6 4 5 5 8 8 3 2 4 3 
                  1 1 3 3 1 6 6 5 5 4 4 2 
                 9 9 9 2 1 9 1 9 2 9 5 7 9 
                4 3 3 7 7 9 3 6 1 3 8 8 3 7 
               3 6 8 1 5 3 9 5 8 3 8 1 8 3 3 
              8 3 2 3 3 5 5 8 5 4 2 8 6 7 6 9 
             8 1 8 1 8 4 6 2 2 1 7 9 4 2 3 3 4 
            2 8 4 2 2 9 9 2 8 3 4 9 6 3 9 4 6 9 
           7 9 7 4 9 7 6 6 2 8 9 4 1 8 1 7 2 1 6 
          9 2 8 6 4 2 7 9 5 4 1 2 5 1 7 3 9 8 3 3 
         5 2 1 6 7 9 3 2 8 9 5 5 6 6 6 2 1 8 7 9 9 
        6 7 1 8 8 7 5 3 6 5 4 7 3 4 6 7 8 1 3 2 7 4 
       2 2 6 3 5 3 4 9 2 4 5 7 6 6 3 2 7 2 4 8 5 5 4 
      7 4 4 5 8 3 3 8 1 8 6 3 2 1 6 2 6 4 6 3 8 2 9 6 
     1 2 4 1 3 3 5 3 4 9 6 3 8 6 5 9 1 5 3 2 6 8 8 5 3 
    2 2 7 9 3 3 2 8 6 9 8 4 4 9 5 8 2 6 3 4 8 4 9 3 8 8 
   7 7 7 9 7 5 2 7 9 2 5 1 9 2 6 5 3 9 3 5 7 3 5 4 2 8 9 
  7 7 6 6 8 7 5 5 8 2 4 7 7 4 7 2 6 9 2 1 8 2 9 8 5 7 3 6 
 5 9 4 5 5 7 5 5 6 3 5 3 9 5 8 9 5 4 1 2 6 1 4 3 5 3 2 4 1 
X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X 

其中的数字代表金属块的重量(计量单位较大)。 最下一层的 XX 代表 3030 台极高精度的电子秤。
假设每块原料的重量都十分精确地平均落在下方的两个金属块上, 最后,所有的金属块的重量都严格精确地平分落在最底层的电子秤上。
电子秤的计量单位很小,所以显示的数字很大。
工作人员发现,其中读数最小的电子秤的示数为:20864582312086458231
请你推算出:读数最大的电子秤的示数为多少?

运行限制:

  • 最大运行时间:1s
  • 最大运行内存: 128M

二、解题思路

  • 将金字塔以字符串形式放入源码中
  • 创建一个双重列表,将所有的元素按列存储在不同的列表中,然后所有的列表再分别作为一个元素存储在一个大的列表中。list =[[int(i) for i in j.split()] for j in a.split('\n')]
  • 分别遍历每一个小列表中的每一个元素,将其下一列的元素的总重量依次算出:
list[i+1][j] += list[i][j]/2
list[i+1][j+1] += list[i][j]/2

遍历结束后此时最后一行的元素便是各个的总重量,用min()max()函数求出其值的大小。

num1 = min(list[-1]) num2 = max(list[-1])

最后转化输出得出结果(2086458231/num1)*num2,但是有除法在的结果肯定是会含有小数的,此时可以通过int来强制变为整数,这样比较简单。也可以采用格式字符串的方法进行输出,但是前提是需要将结果变为float浮点数类型

三、源码分享

# @File    : 承压计算.py
a='''                        7 
                            5 8 
                           7 8 8 
                          9 2 7 2 
                         8 1 4 9 1 
                        8 1 8 8 4 1 
                       7 9 6 1 4 5 4 
                      5 6 5 5 6 9 5 6 
                     5 5 4 7 9 3 5 5 1 
                    7 5 7 9 7 4 7 3 3 1 
                   4 6 4 5 5 8 8 3 2 4 3 
                  1 1 3 3 1 6 6 5 5 4 4 2 
                 9 9 9 2 1 9 1 9 2 9 5 7 9 
                4 3 3 7 7 9 3 6 1 3 8 8 3 7 
               3 6 8 1 5 3 9 5 8 3 8 1 8 3 3 
              8 3 2 3 3 5 5 8 5 4 2 8 6 7 6 9 
             8 1 8 1 8 4 6 2 2 1 7 9 4 2 3 3 4 
            2 8 4 2 2 9 9 2 8 3 4 9 6 3 9 4 6 9 
           7 9 7 4 9 7 6 6 2 8 9 4 1 8 1 7 2 1 6 
          9 2 8 6 4 2 7 9 5 4 1 2 5 1 7 3 9 8 3 3 
         5 2 1 6 7 9 3 2 8 9 5 5 6 6 6 2 1 8 7 9 9 
        6 7 1 8 8 7 5 3 6 5 4 7 3 4 6 7 8 1 3 2 7 4 
       2 2 6 3 5 3 4 9 2 4 5 7 6 6 3 2 7 2 4 8 5 5 4 
      7 4 4 5 8 3 3 8 1 8 6 3 2 1 6 2 6 4 6 3 8 2 9 6 
     1 2 4 1 3 3 5 3 4 9 6 3 8 6 5 9 1 5 3 2 6 8 8 5 3 
    2 2 7 9 3 3 2 8 6 9 8 4 4 9 5 8 2 6 3 4 8 4 9 3 8 8 
   7 7 7 9 7 5 2 7 9 2 5 1 9 2 6 5 3 9 3 5 7 3 5 4 2 8 9 
  7 7 6 6 8 7 5 5 8 2 4 7 7 4 7 2 6 9 2 1 8 2 9 8 5 7 3 6 
 5 9 4 5 5 7 5 5 6 3 5 3 9 5 8 9 5 4 1 2 6 1 4 3 5 3 2 4 1 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 '''
list =[[int(i) for i in j.split()] for j in a.split('\n')]
for i in range(len(list[-1])-1):
    for j in range(len(list[i])):
        list[i+1][j] += list[i][j]/2
        list[i+1][j+1] += list[i][j]/2
num1 = min(list[-1])
num2 = max(list[-1])
# print('%.0f'%float((2086458231/num1)*num2))
print(int((2086458231/num1)*num2))

四、学习总结

  • 1. 创建双列表的方法:list =[[int(i) for i in j.split()] for j in a.split('\n')]
  • 2.格式化字符串方法:'%.0f'%float((2086458231/num1)*num2),要先转化为浮点数类型。

 到此这篇关于python练习-承压计算的文章就介绍到这了,更多相关Python承压计算内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python练习-承压计算

本文链接: https://lsjlt.com/news/163346.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python练习-承压计算
    目录一、题目描述二、解题思路三、源码分享四、学习总结一、题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。X 星球的高科技实验室中整齐地堆放着某批珍贵...
    99+
    2024-04-02
  • Python怎么实现承压计算
    这篇文章主要介绍“Python怎么实现承压计算”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python怎么实现承压计算”文章能帮助大家解决问题。一、题目描述本题为填空题,只需要算出结果后,在代码中...
    99+
    2023-06-28
  • Python 练习——计算1-2+3-4
    # 求1-99的所有数的和 count = 1 s = 0 while count < 100: s += count count += 1 print(s) 当都为正数时,即1+2+3+...+99,如上,很简...
    99+
    2023-01-30
    Python
  • python time模块计算时间之间的差距(练习题)
    目录python time模块计算时间之间的差距1. 当前月1号对应的0点的时间戳2. n1的时间 n2的时间 n2 - n1的时间经历里多少年 月 日 时 分 秒补充:python...
    99+
    2023-05-20
    python time模块计算时间 python time模块计算时间差距 python time模块计算时间差
  • python练习
    Python统计列表中的重复项出现的次数的方法#方法1:mylist = [1,2,2,2,2,3,3,3,4,4,4,4]myset = set(mylist)  #myset是另外一个列表,里面的内容是mylist里面的无重复 项for...
    99+
    2023-01-31
    python
  • python练习(1)
    文章目录 一、if语句—未满十八岁禁止入内二、判断一个数是否能同时被3和7整除三、判断你一个数能同时被3或者7整除 但不能同时被3和7整除四、输入年份 判断是否为闰年五、定义两个变量 保存一个...
    99+
    2023-09-01
    python
  • Python练习【2】
    题目1: 用Python实现队列(先入先出) 入队 出队 队头 队尾 队列是否为空 显示队列元素 代码: list=[] ##定义空列表用于存储数据 tip = """ ******队...
    99+
    2023-01-31
    Python
  • Python练习3
    无意看到老男孩的博文:合格linux运维人员必会的30道shell编程面试题及讲解http://oldboy.blog.51cto.com/2561410/1632876尝试着用刚开始学的python解答一些,权当练手了!如有错误,还请批评...
    99+
    2023-01-31
    Python
  • python练习2
    # 理论性1. 写出python中的几种分支结构,并解释其执行过程;2. 写出python中的几种循环结构,并解释其执行过程;3. python中是否支持switch语句   如果支持,写出该语句格式;   如果不支持,说说python中怎...
    99+
    2023-01-31
    python
  • Python 练习 —— 2048
    1. 引言      2048 这段时间火的不行啊,大家都纷纷仿造,“百家争鸣”,于是出现了各种技术版本:除了手机版本,还有C语言版、Qt版、Web版、java版、C#版等,刚好我接触Python不久,于是弄了个Python版——控制台...
    99+
    2023-01-31
    Python
  • Python练习10
    无意看到老男孩的博文:合格linux运维人员必会的30道shell编程面试题及讲解http://oldboy.blog.51cto.com/2561410/1632876尝试着用刚开始学的python解答一些,权当练手了!如有错误,还请批评...
    99+
    2023-01-31
    Python
  • Python-练习5
    - 题目描述:输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2;- 输入描述:输入为一行,n(1 ≤ n ≤ 1000)- 输出描述:输出一个整数,即题目所求- 示例1:- ...
    99+
    2023-01-31
    Python
  • Python 练习1
    #!/usr/bin/env python#codingutf-8count = 0while count < 3:    username = raw_input("USERNAME:")    password = raw_inp...
    99+
    2023-01-31
    Python
  • python练习题
    #############################userername = raw_input("USERNAME:")password = raw_input("PASSWORD:")if username == "user" a...
    99+
    2023-01-31
    练习题 python
  • python练习5
    # 2017-滴滴出行- 末尾为0的个数 - 题目描述:输入一个正整数n,求n!(即阶乘)末尾有多少个0? 比如: n = 10; n! = 3628800,所以答案为2; - 输入描述:输入为一行,n(1 ≤ n ≤ 1000) - 输出...
    99+
    2023-01-31
    python
  • Python练习1
    问答:1.你理解的python是什么为什么会使用python稍微比别的语言简单点,linux自动化运维需要2. 解释python第一行怎么写写的内容是做什么的怎么写可移植性强为什么#!/usr/bin/env python 说明环境,解释器...
    99+
    2023-01-31
    Python
  • Python-练习6
     练习1:创建一个小游戏:      1). 游戏人物:    People           张琴成,男, 18岁,初始战斗值1000;           胡丽婷,女, 18岁, 初始战斗值2000;           安晋川,男,...
    99+
    2023-01-31
    Python
  • python习题练习(chapater
     #!/usr/bin/env python# coding: utf-8'for practise in chapater five'#定义一个函数,计算并返回两个数的乘机def product(a, b): return(a * b)#...
    99+
    2023-01-31
    习题 python chapater
  • Python学习—列表练习
    1.【项目:大奖赛计分】   在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。  【项目扩展1(选做)】大奖赛编的计分程序,成绩在0-1...
    99+
    2023-01-31
    列表 Python
  • python算法练习之抓交通肇事犯
    目录1.问题描述2.确定程序框架3.判断车牌k是是否为某个数的平方,是就输出4.完整程序5.运行结果6.优化算法1.问题描述 一辆卡车违反交通规则,撞人后逃跑。现场有三人目击该事件,...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作