当前位置: 首页 > news >正文

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

文章目录

  • (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.lryc.cn/news/33310.html

相关文章:

  • 论文公式符号规范
  • 哈工大面向服务的软件系统 期末开卷提纲
  • Adding Conditional Control to Text-to-Image Diffusion Models
  • C++从头再来:知识点速通
  • LearnDash Groups学习群组:您需要了解的一切
  • 软件开发过程中遇到一个傻嘚业主能让你抓狂
  • 信创系统借力小程序应用生态的可能性
  • ISFP型人格的优势和劣势分析(mbti性格测试)
  • 电影《断网》观后感
  • 查看python第三方库的依赖pkgs
  • CF756div3 vp
  • Linux命令·less
  • 修改redis改key值不改过期时间
  • Spark的DataFrame使用
  • 【Flutter】入门Dart语言:操作符的基本用法
  • Linux线程概念
  • C#基础教程10 方法
  • java高性能并发计数器之巅峰对决
  • HTTPS简介
  • K-means聚类
  • 04-SQL基础(表管理,约束,多表连接,子查询)
  • 统计学 一元线性回归
  • 【软件开发】基于PyQt5开发的标注软件
  • CSS3新特性
  • 35 openEuler搭建repo(yum)服务器-创建、更新本地repo源
  • 【三.项目引入axios、申明全局变量、设置跨域】
  • 启动u盘还原成普通u盘(Windows Diskpart)
  • 深入理解机器学习——偏差(Bias)与方差(Variance)
  • 分布式新闻项目实战 - 13.项目部署_持续集成(Jenkins) ^_^ 完结啦 ~
  • Linux c/c++技术方向分析