华为机试题:HJ107 求解立方根(python)

news2025/7/20 13:16:10

文章目录

  • (1)题目描述
  • (2)Python3实现
  • (3)知识点详解
    • 1、input():获取控制台(任意形式)的输入。输出均为字符串类型。
      • 1.1、input() 与 list(input()) 的区别、及其相互转换方法
    • 2、print() :打印输出。
    • 3、abs()与fabs()的区别(返回输入x的绝对值)
    • 4、round():返回浮点数x的四舍五入值。可指定保留几位小数,只对浮点数有效。
    • 5、浮点型float() :将数字、字符串或布尔值转化为浮点数(强转) —— 只支持十进制输入和输出。</font>
    • 6、算术运算符

(1)题目描述

在这里插入图片描述

(2)Python3实现

n = float(input())
x = 1
while abs(x**3 - n) > 1e-7:
	# 立方根公式
    x = x - (x**3 - n) / (3*x**2)		
print(round(x, 1))

(3)知识点详解

1、input():获取控制台(任意形式)的输入。输出均为字符串类型。

str1 = input()
print(str1)
print('提示语句:', str1)
print(type(str1))

'''
asd123!#
提示语句: asd123!#
<class 'str'>
'''
常用的强转类型说明
int(input())强转为整型(输入必须时整型)
list(input())强转为列表(输入可以是任意类型)

1.1、input() 与 list(input()) 的区别、及其相互转换方法

  • 相同点:两个方法都可以进行for循环迭代提取字符,提取后都为字符串类型。
  • 不同点str = list(input()) 将输入字符串转换为list类型,可以进行相关操作。如: str.append()
  • 将列表转换为字符串:str_list = ['A', 'aA', 2.0, '', 1]
  • 方法一:print(''.join(str))
  • 方法二:print(''.join(map(str, str_list)))

备注:若list中包含数字,则不能直接转化成字符串,否则系统报错。

  • 方法一:print(''.join([str(ii) for ii in str_list]))
  • 方法二:print(''.join(map(str, str_list)))
    map():根据给定函数对指定序列进行映射。即把传入函数依次作用到序列的每一个元素,并返回新的序列。

(1) 举例说明:若list中包含数字,则不能直接转化成字符串,否则系统报错。

str = ['25', 'd', 19, 10]
print(' '.join(str))

'''
Traceback (most recent call last):
 File "C:/Users/Administrator/Desktop/test.py", line 188, in <module>
   print(' '.join(str))
TypeError: sequence item 3: expected str instance, int found
'''

(2)举例说明:若list中包含数字,将list中的所有元素转换为字符串。

str_list = ['A', 'aA', 2.0, '', 1]
print(''.join(str(ii) for ii in str_list))
print(''.join([str(ii) for ii in str_list]))
print(''.join(map(str, str_list))) 		# map():根据给定函数对指定序列进行映射。即把传入函数依次作用到序列的每一个元素,并返回新的序列。

'''
AaA2.01
AaA2.01
AaA2.01
'''

2、print() :打印输出。

【Python】print()函数的用法

x, y = 1, 9
print('{},{}' .format(x, y))	# 打印方法一
print('*'*10)					# 打印分割符
print(x, ',', y)				# 打印方法二

'''
1,9
**********
1 , 9
'''

3、abs()与fabs()的区别(返回输入x的绝对值)

abs()fabs()
abs()是python的内置函数fabs()是math模块中的函数
适用于float型、int型、复数类型只适用于float型、int型
(若输入为整型,则返回整型)若输入为浮点型或复数类型,则返回浮点型。(只返回浮点值)若输入为整型,则自动保留一个小数。
import math

# 输入整型
print(abs(10))						# 10
print(math.fabs(10))				# 10.0

# 输入浮点型
print(abs(10.125))					# 10.125
print(math.fabs(10.125))			# 10.125

# 输入复数类型
print(abs(10.125+12j))				# 15.62850460696736
# print(math.fabs(10.125+12j))		# TypeError: can't convert complex to float

4、round():返回浮点数x的四舍五入值。可指定保留几位小数,只对浮点数有效。

函数说明:round(x, n)
输入参数:

  • x:浮点数。
  • n:保留小数点的位数。
    备注:若为整数,则即使指定了保留小数点的位数,也直接输出整数。

四舍五入的规则:
(1)要求保留位数的后一位 <=4,则进位。如:round(5.214,2),结果为5.21。
(2)要求保留位数的后一位 =5,且该位数后面没有数字,则不进位,如:round(5.215, 2),结果为5.21。
(3)要求保留位数的后一位 =5,且该位数后面有数字,则进位,如:round(5.2151, 2),结果为5.22。
(4)要求保留位数的后一位 >=6,则进位。如:round(5.216,2),结果为5.22。

print(round(5, 2))			# 5				# 整数
print(round(5.214, 2))		# 5.21			# <=4,则进位
print(round(5.215, 2))		# 5.21			# =5,且该位数后面没有数字,则不进位
print(round(5.2151, 2))		# 5.22			# =5,且该位数后面有数字,则进位
print(round(5.216, 2))		# 5.22			# >=6,则进位

5、浮点型float() :将数字、字符串或布尔值转化为浮点数(强转) —— 只支持十进制输入和输出。

函数说明:float(object)
输入参数:

  • object:整数、字符串、布尔值(若没有输入参数,则float=0.0
    备注1:当非十进制的字符串作为参数时,若超出数字字符时会报错。比如:float('2a1')
    备注2:不能进行不同进制之间的转换,否则系统报错。与int()完全不同。
print('空输入参数', float())
print('整数转换为浮点数', float(5))
print('浮点数转换为浮点数', float(-5.5))
print('字符串转换为浮点数', float('-5.5'))
print('布尔值转换为浮点数', float(True))

'''
空输入参数 0.0
整数转换为浮点数 5.0
浮点数转换为浮点数 -5.5
字符串转换为浮点数 -5.5
布尔值转换为浮点数 1.0
'''

6、算术运算符

序列运算符名称说明举例结果数据类型
【1】+(1)对于数字:求和。c = 1 + 2c = 3int型
【1】+(2)对于序列类型(如:字符串):拼接操作str = 'a' + 'b'str = 'ab'字符串型
2-求差值c = 1 - 2c = -1int型
【3】*(1)对于数字:求积。c = 2 * 3c = 6int型
【3】*(2)对于序列类型(如:字符串):重复操作str = 'a' * 3str = 'aaa'字符串型
4/求商(两个整数或浮点数相除,结果为float型)c = 3 / 2c = 1.5浮点型
5%取余求余数c = 3 % 2c = 1int型
6**求次幂c = 3 ** 2c = 9int型
【7】//地板除法向下取整。(1)两个整数相除,结果为int型c = 3 // 2c = 1int型
【7】//地板除法向下取整。(2)除数或被除数为float类型,则结果为float类型。c = 3 // 2.0c = 1.0浮点型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/395375.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年品牌惊蛰节气海报赏析

今天是3月6日——惊蛰&#xff0c;春日渐暖&#xff0c;春雷乍起&#xff0c;北方大地正在迎来新生&#xff0c;小鸟在枝头欢叫、种子在努力发芽&#xff0c;各大品牌也赶早发布了最新的惊蛰节气海报。下面就来和我们一起看看吧。 1&#xff0c;中国日报 2&#xff0c;BDuck…

java日志

日志是软件开发的重要组成部分。一个精心编写的日志代码提供快速的调试&#xff0c;维护方便&#xff0c;以及应用程序的运行时信息结构化存储。日志记录确实也有它的缺点。它可以减缓的应用程序Log4jLog4j是Apache的一个开放源代码项目&#xff0c;通过使用Log4j&#xff0c;我…

Spring | 基础

1. IOC和DI IOC&#xff1a;控制反转&#xff0c;其思想是反转资源获取的方向&#xff0c;传统的资源查找方式要求组件向容器发起请求查找资源&#xff0c;作为回应&#xff0c;容器适时的返回资源。而应用了 IOC 之后&#xff0c;则是**容器主动地将资源推送给它所管理的组件…

Sectigo中间证书根证书说明

Sectigo SSL证书产品证书链主要分为两个版本&#xff0c;常见的的一种版本多&#xff0c;但随着安全性提升&#xff0c;证书链的加载方式变化&#xff0c;第二种版本证书链更具备安全需要&#xff0c;对此做了详细说明。一、兼容性最高版本&#xff0c;根证书算法&#xff1a;s…

BI 是如何数据分析的?

企业部署商业智能BI前&#xff0c;需要进行详细的分析&#xff0c;了解BI能为企业带来多少价值&#xff1f;如何提高工作效率的等等&#xff0c;今天我们就来聊一聊 BI 的工作原理。 一、BI的取数方式 商业智能BI是通过访问和连接业务系统数据源数据库的方式来进行取数的&…

记录gitlab和jenkins集成的过程

gitlab设置外发请求 首先在前面的几篇文章中&#xff0c;我们的gitlab和jenkins都安装好了&#xff0c;在这里我们就可以对gitlab 和jenkins进行集成操作处理。 首先设置gitlab的外发请求,如图所示: 先点击管理员&#xff0c;进入到管理中心后 先点击设置&#xff0c;然后点击…

劲霸男装:400+门店的销售佣金管理,如何实现一键发薪

陪伴一代人记忆的劲霸男装&#xff08;下文简称「劲霸」&#xff09;&#xff0c;很多人应该都不陌生。 他们的门店遍布全国的大型商场及街边店铺&#xff0c;自1980起&#xff0c;发展已40余年&#xff0c;现拥有形象统一、规范管理的品牌专卖店2000多家。他们门店多&#xff…

传输层协议——UDP协议

❣️关注专栏&#xff1a;JavaEE 传输层虽然是操纵系统内核已经实现好了的&#xff0c;但是我们程序猿写代码要调用系统提供的 socket API 完成网络编程&#xff0c;其中 socket 就属于传输层部分。 &#x1f331; UDP协议 &#x1f331; 1 UDP协议端格式 上图就是UDP协议报…

Java面向对象特征之三:多态

一&#xff1a;面向对象三大特征之三&#xff1a;多态 1.多态是什么&#xff1f; 同类型的对象&#xff0c;执行同一个行为&#xff0c;会表现出不同的行为特征。 比如&#xff1a;猫和狗都是动物类型&#xff0c;执行同一个行为&#xff0c;但是会表现出不同的行为特征&…

flink sql 源码走读 --- 解释flink jdbc where 条件为什么没有下推数据库

本文通过一个具体案例&#xff0c;说明 flink sql 如何实现 connector 加载、source/sink 端操作、数据库连接等。可以帮助大家了解其原理&#xff0c;并在代码中找到落库执行SQL生成逻辑&#xff0c;得到where条件并没有下推到库执行的结论。 案例如下&#xff1a; create t…

Zookeeper集群和Hadoop集群安装(保姆级教程)

1. HA HA&#xff08;Heigh Available&#xff09;高可用 解决单点故障&#xff0c;保证企业服务 7*24 小时不宕机单点故障&#xff1a;某个节点宕机导致整个集群的宕机 Hadoop 的 HA NameNode 存在单点故障的可能&#xff0c;需要配置 HA 解决引入第二个 NameNode 作为备份同…

C语言学习(三)

#include <stdio.h> int main(void){int a; scanf("%d",&a); printf("%d",a); return 0&#xff1b;} 正在上传…重新上传取消正在上传…重新上传取消&符号作用是把键盘中输入的值给变量a,使用scanf()时输入数值&#xff0c;需要按一下enter…

MySQL知识点全面总结2:Mysql语句的执行(DDL DML 完整性约束)

二.MySQL知识点全面总结2&#xff1a;mysql语句的执行&#xff08;DDL DML 完整性约束&#xff09; 1.对数据库的操作&#xff08;DDL&#xff09; 2.对数据表的操作&#xff08;DDL&#xff09; 3.对数据表字段的操作&#xff08;DDL&#xff09; 4.对数据表内容的增删改&…

Science Direct 高级检索、使用技巧、寻找目标期刊、E lsevi er 投稿指南

ScienceDirect使用教程&E ls evier投稿指南1. 高级检索功能1.1 布尔值运算符和短语搜索&#xff08;构建检索式&#xff09;1.2 搜索特殊字符和公式1.3 非搜索用词2. 如何使用搜索结果页面&#xff1f;3. 下载多个文档3.1 从搜索结果列表中下载多个文档3. 利用 JournalFind…

java高性能并发计数器之巅峰对决

并发计数器各个方案介绍方案概述1. jdk5提供的原子更新长整型类 AtomicLong2. synchronized3. jdk8提供的 LongAdder 【单机推荐】4. Redisson分布式累加器【分布式推荐】方案介绍jdk5提供的原子更新长整型类 AtomicLong在JDK1.5开始就新增了并发的Integer/Long的操作工具类Ato…

VS2022+qt5.14.2配置qcustomplot2.1.16(坑很多)

目录1. 前言2. 下载QCustomPlot的源码3. 将QCustomPlot添加到QT项目&#xff08;一些遇到的问题&#xff09;1. 前言 QCustomPlot 是一个超强超小巧的qt绘图类&#xff0c;非常漂亮&#xff0c;非常易用&#xff0c;只需要加入一个qcustomplot.h和qcustomplot.cpp文件即可使用…

Android 基础知识4-3.7 ProgressBar(进度条)详解

一、简介 ProgressBar&#xff08;进度条&#xff09;是UI界面中一种非常实用的组件&#xff0c;通常用于向用户像是某个耗时操作完成的百分比。进度条可动态地显示进度&#xff0c;因此避免长时间地执行某个操作时&#xff0c;让用户感觉程序失去了响应&#xff0c;从而更好地…

常用反弹 shell 方式总结

在对 Linux 系统进行渗透测试中&#xff0c;常常会用到反弹 shell 的操作&#xff0c;今天来总结一下常用反弹 shell 的方式。 什么是反弹shell&#xff1a; 反弹shell&#xff0c;就是攻击机监听在某个TCP/UDP端口为服务端&#xff0c;目标机主动发起请求到攻击机监听的端口…

Spark 配置项

Spark 配置项硬件资源类CPU内存堆外内User Memory/Spark 可用内存Execution/Storage Memory磁盘ShuffleSpark SQLJoin 策略调整自动分区合并自动倾斜处理配置项分为 3 类: 硬件资源类 : 与 CPU、内存、磁盘有关的配置项Shuffle 类 : Shuffle 计算过程的配置项Spark SQL : Spar…

MySQL 中的 distinct 和 group by 的性能比较

1 先说大致的结论&#xff08;完整结论在文末&#xff09;在语义相同&#xff0c;有索引的情况下&#xff1a;group by和 distinct 都能使用索引&#xff0c;效率相同。在语义相同&#xff0c;无索引的情况下&#xff1a;distinct 效率高于group by。原因是 distinct 和 group …