python3 week4

1 实现四舍五入,禁止使用python内建函数。
func(soure_num, precise),source_num为需要处理的数据,precise为需要保留的位数

"""
File: 01四舍五入.py
Author: chde_wang
Date: 2020-08-09 12:14:59
Description:实现四舍五入,禁止使用python内建函数。
func(soure_num, precise),source_num为需要处理的数据,precise为需要保留的位数1.判断输入的是否为数字
2.是否为浮点数
3.
"""def func(source_num, precise_num):source_num_str = str(source_num)source_num_list = source_num_str.split('.')print("四舍五入后数值为:", end='')float_str = ''# 对保留位数进行判断if precise_num < 0:print("保留位数没意义!")elif precise_num == 0:if int(source_num_list[-1]) == 0:float_str = int(source_num_str)else:if int(source_num_list[-1][-1]) >= 5:float_list = list(source_num_list[-1])float_list[-1] = str(int(float_list[-1]) + 1)float_str = ''.join(float_list)else:float_str = source_num_list[0]print(float_str)# 保留位数有意义,且是整数else:# 整数补零if source_num_list[-1] == '0':if precise_num != 0:float_len = len(source_num_list[-1])float_list = list(source_num_list[-1])num_zero = precise_num - float_lenfor i in range(num_zero):float_list.append('0')float_str = ''.join(float_list)# 是小数else:# 保留位数等于小数位数if len(source_num_list[-1]) == precise_num:float_str = source_num_list[-1]# 保留位数小于小数位数 补零elif len(source_num_list[-1]) < precise_num:float_len = len(source_num_list[-1])float_list = list(source_num_list[-1])num_zero = precise_num - float_lenfor i in range(num_zero):float_list.append('0')float_str = ''.join(float_list)# 保留位数大于小数位数else:# 保留位后一位大于等于5 进位if int(source_num_list[-1][precise_num]) >= 5:float_list = list(source_num_list[-1])float_list[precise_num-1] = str(int(float_list[precise_num-1])+1)float_str = ''.join(float_list)if precise_num == 1:float_str = float_str[0]else:float_str = float_str[0:precise_num]else:float_str = source_num_list[-1][0:precise_num]str_list = [source_num_list[0], '.', float_str]str_list = ''.join(str_list)print(str_list)source_num = input("请输入数据:")  # 12.3434345
precise_num = input("请输入保留位数:")
try:source_num = float(source_num)precise_num = int(precise_num)func(source_num, precise_num)
except ValueError:print("您输入的不是数字!")

没有实现保留0位小数的进制问题。

修改 参考梦园:

"""
File: 03四舍五入参考梦园.py
Author: chde_wang
Date: 2020-08-17 22:57:09
Description:
"""def func_round_me(num=0, precision=0):digit = 10**precisionint_num = float(int(num * digit))flag = str(num).find('.')flag_tag = str(num)[flag+precision+1]if num >= 0:if int(flag_tag) >= 5:int_num = (int_num + 1) / digitelse:int_num = int_num / digitelse:if int(flag_tag) >= 5:int_num = (int_num - 1) / digitelse:int_num = int_num / digitreturn int_numtry:num = float(input("请输入数值:"))precision = int(input("请输入保留位数:"))
except ValueError:print("输入错误!")
print("{}保留{}位小数,四舍五入后的结果为{}".format(num, precision, func_round_me(num, precision)))

2实现reduce的功能,请自行百度内建函数reduce的功能

"""
File: reduce实现.py
Author: chde_wang
Date: 2020-08-09 19:57:55
Description:实现reduce的功能,请自行百度内建函数reduce的功能
"""def foo(*args):if len(args) <= 2:# 判断第一个参数为可迭代类型try:if isinstance(args[0], (list,tuple)):# 第一个参数不为空if args[0]:# 第二个参数不为空if args[1]:# 两个参数类型一致if type(args[0][0]) == type(args[1]):if len(str(args[0])) == 1:return args[0] + args[1]else:sum = args[1]for i in range(len(args[0])):sum += args[0][i]return sumelse:print("类型不一致!")# 第二个参数为空else:if type(args[0][0] == 'str'):sum = ''elif type(args[0][0] == 'int'):sum = 0for i in range(len(args[0])):sum += args[0][i]return sum# 第一个参数为空 第二个参数不为空elif args[1]:return args[1]else:print("参数为空")except TypeError:print("类型不一致")def my_reduce(fun_name, arg1, arg2=0):if fun_name(arg1, arg2):print(fun_name(arg1,arg2))my_reduce(foo, ['1', '2'], '1')

修改(参考梦园):

from collections import Iterable
def my_reduce(fun_name, arg1, arg2=None):if arg2:if isinstance(arg1, Iterable):value = arg2for i in arg1:value=fun_name(value,i)return value
print(my_reduce(add,[1,2,3,4],5))

 

如何替换字符串中指定位置的字符呢?

字符串转换列表替换并转换解决:

def replace_char(string,char,index):string = list(string)string[index] = charreturn ''.join(string)

参考自https://www.cnblogs.com/bingoTest/p/10449941.html

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

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

相关文章

python如何读取csv文件某几行某几列_关于python:读取.csv文件时,我似乎无法指定列dtypes...

本问题已经有最佳答案&#xff0c;请猛点这里访问。 一个菜鸟问题(修订)&#xff1a;我读了一个.csv文件&#xff0c;并尝试按以下方式指定dtypes&#xff1a; 1 2 3 4 5 6 7 8 9 10 11 12 13 14import csv import pandas as pd cdc pd.read_csv(myFile.csv, dtype { Phenoty…

python-week5

1、现在有如下流程&#xff1a;A->B->C->D->E->F&#xff0c;要求根据输入的参数从制定的流程执行下去 """ File: 01流程执行.py Author: chde_wang Date: 2020-08-16 18&#xff1a;51&#xff1a;35 Description:将输入存储到列表中&#xf…

python-week6

1.如下示例, 请用面向对象的形式优化以下代码 def exc1(host,port,db,charset):connconnect(host,port,db,charset)conn.execute(sql)return xxxdef exc2(host,port,db,charset,proc_name)connconnect(host,port,db,charset)conn.call_proc(sql)return xxx # 每次调用都需要重复…

python定义空数组_在numpy数组中设置空值

如何根据条件使numpy数组中的某些值为空&#xff1f; 我不明白为什么我最终得到的是0&#xff0c;而不是不满足条件的null或空值。。。b是用0和1值填充的numpy数组&#xff0c;c是另一个完全填充的numpy数组。所有阵列均为71x71x166a np.empty(((71,71,166))) d np.empty(((7…

excel学习1-查看一列数值是否在另一列中存在

出现次数用COUNTIF 是否出现使用 IFCOUNTIF 加入$的作用是将需要比对的列固定范围。写好一个函数后&#xff0c;使用右下角号&#xff0c;直接下拉就可以。 参考自https://blog.csdn.net/gywtzh0889/article/details/72910377

fx5u以太网通讯设置_操作示例 | 实现S7300和FX5U的数据交换

北辰BCNet-S7300Plus(以下简称BCNet)&#xff0c;在BCNet-S7300的基础上&#xff0c;以太网口增加了支持与西门子带网口PLC(S7-200SMART 、S7-1200、S7-1500、S7300PN)之间的通讯功能。这些通讯功能包括基于S7TCP协议的数据交换、ModbusTCP服务器功能、ModbusTCP客户机功能&…

excel基础-固定某一列的输入内容

Office&#xff1a;需要固定的单元格-点击数据-数据有效性-点击&#xff0c;选择有效性条件 允许为&#xff1a;序列&#xff0c;然后需要下拉框内容&#xff0c;并选择下拉框。即可 切记&#xff1a;开源中的逗号为英文逗号。 最后效果如下&#xff1a; 参考自https://jingya…

为什么多个线程不可能同时抢到一把锁_HFL Redis_12_redis分布式锁的3种实现方式...

HotFrameLearning(简称 HFL) Redis_12_redis分布式锁的3种实现方式-一、大致介绍1、昨天介绍完redis的数据结构后&#xff0c;有小伙伴让本人讲讲redis的分布式锁&#xff0c;因此才有了此篇的由来&#xff0c;只是把我的节奏提前了而已&#xff1b;2、接下来我就通过几种方式介…

linux下mysql5.7修改密码

开始修改MySQL用户密码 ① 输入use mysql回车&#xff1b; ② 输入update user set password password(“147258”)where user’root’; “147258”为你自己设置的密码&#xff1b; 执行第二步后如果报错&#xff1a; 执行后报错  ERROR 1…

react项目中的参数解构_重构复杂的React组件:编写高效且可读组件的5个最佳实践...

随着 React.js 的不断进化&#xff0c;现在的它已经成为 Web 组件中最受欢迎的视图库之一。但是你手中的它&#xff0c;是否真的能够正常工作呢&#xff1f;本文将主要描述 5 个关于React 组件的最佳实践&#xff0c;希望对正在关注 React 组件的你有所帮助。我自己是一名从事了…

robotFramework-ride使用1-关键字驱动与数据类型

RF项目结构 项目文件夹&#xff08;new project&#xff09; 用例集&#xff08;test suit&#xff09; 测试用例&#xff08;test case&#xff09; RF基本功能-设置区介绍 项目 --》settings----》Document&#xff1a;添加用例说明 suit setup&#xff1a;执行此测试套件…

opencv threshold_基于深度学习OpenCV与python进行字符识别

点击上方“小白学视觉”&#xff0c;选择加"星标"或“置顶”重磅干货&#xff0c;第一时间送达当我们在处理图像数据集时&#xff0c;总是会想有没有什么办法以简单的文本格式检索图像中的这些字符呢&#xff1f;今天我们就一起看看有没有什么简单的办法可以实现这一…

python3 robotframework+pycharm框架搭建

1.安装python3 框架组成&#xff1a;自动化基础库&#xff08;robotframework&#xff09;图形界面&#xff08;robotframework-ride&#xff09; 2.安装RF框架 安装robotframework。pip install robotframework -i https://pypi.doubanio.com/simple 安装robotframework-r…

delphi if多个条件_判断(if)语句

判断&#xff08;if&#xff09;语句目标开发中的应用场景if 语句体验if 语句进阶综合应用01. 开发中的应用场景生活中的判断几乎是无所不在的&#xff0c;我们每天都在做各种各样的选择&#xff0c;如果这样&#xff1f;如果那样&#xff1f;……程序中的判断if 今天发工资: ​…

excel sheet限制_Python 处理Excel内的数据(案例介绍*3)

点击上方“蓝字”关注我们了解更多精彩案例一介绍现在有一批电商产品跟当日销量的数据&#xff0c;如下&#xff0c;总共有上万笔的数据&#xff0c;现在需要统计每个品牌当日的销售量&#xff0c;比如美宝莲今天总共卖出了多少的商品&#xff0c;另外需要统计每个品牌下面的每…

robotFramework-ride使用2-分支与循环

1条件运算 Run keyword if 如果条件为True&#xff0c;则执行关键字 ELSE IF ELSE IF使用案例1&#xff1a; 2循环 在使用append to list前&#xff0c;添加Collections库 列表元素添加与删除 列表元素求和-循环 :FOR ${i} IN 1 2 3 4 5 :FOR ${i} IN RANGE 1 5FOR里面…

项目案例:在线拍卖系统_冀拓公司在张家口开展尾矿库在线监测监控系统 建设项目...

近日&#xff0c;受张家口弘锦矿业有限责任公司委托&#xff0c;冀拓公司在弘锦矿业大东沟尾矿库开展了安全风险智能在线监测监控系统施工安装服务。由于该库为“头顶库”&#xff0c;按照省应急管理厅要求“头顶库”必须在6月底之前完成联网&#xff0c;在6月24日接到项目任务…

linux内存管理之RSS和VSZ的区别

[译] linux内存管理之RSS和VSZ的区别 阅读 724 收藏 0 2019-08-25 原文链接&#xff1a; pengrl.com RSS是Resident Set Size&#xff08;常驻内存大小&#xff09;的缩写&#xff0c;用于表示进程使用了多少内存&#xff08;RAM中的物理内存&#xff09;&#xff0c;RSS不…

cad和python哪个好学_对纯外行人来说,学习PS和Python哪个更容易?

果真是高手大隐隐于市&#xff0c;我如此隐藏都被你看出来了&#xff0c;谢邀回答&#xff01;然后你看出了吧&#xff01;答案在我这里很明显&#xff0c;当然是学习ps更容易一点&#xff0c;至于Python我的天分实在是太渣&#xff0c;所以&#xff0c;至今我敢不敢承认我学过…

Linux 两台服务器之间传输文件和文件夹

今天处理一个项目要迁移的问题&#xff0c;突然发现这么多图片怎么移过去&#xff0c;可能第一时间想到的是先从这台服务器下载下来&#xff0c;然后再上传到另外一台服务器上面去&#xff0c;这个方法确实是可行&#xff0c;但是实在是太费时间了&#xff0c;今天我就教大家怎…