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

python3 week4相关推荐

  1. 【WP】hgame2023 week4 Pwn

    [WP]hgame2023 week4 Pwn without_hook libc2.36的版本,没有__free_hook和__malloc_hook这种hook函数,这里使用打_IO_list_a ...

  2. pip 无法卸载 pillow 解决方案 Not uninstalling pillow at /usr/lib/python3/dist-packages

    1. 问题现象 使用 pip 卸载 pillow 时无法卸载,报如下错误: $ sudo pip3 uninstall pillow Not uninstalling pillow at /usr/l ...

  3. Python2 与 Python3 区别

    Python2.x 与 Python3.x 区别 1. print 函数 Python2 中 print 是语句(statement),Python3 中 print 则变成了函数.在 Python3 ...

  4. Anaconda3+python3.7.10+TensorFlow2.3.0+PyQt5环境搭建

    Anaconda3+python3.7.10+TensorFlow2.3.0+PyQt5环境搭建 一.Anaconda 创建 python3.7环境 1.进入 C:\Users\用户名 目录下,找到 ...

  5. python2转python3文件

    python37 -m 2to3.py -w C:\Users\Administrator\Desktop\搜狗细胞词库处理.py 命令 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA ...

  6. Python3:ImportError: No module named 'compiler.ast'

    from compiler.ast import flatten 上面这条语句好像在python3 以后就废除了,如果使用的话就会报错. Traceback (most recent call las ...

  7. 安装win下的Anaconda ----针对python3.6.4版本

    我的python版本是3.6.4, Anaconda下载地址: Anaconda官网:https://repo.anaconda.com/archive/ 清华大学镜像站:https://mirror ...

  8. Python3 reversed 函数

    描述 reversed 函数返回一个反转的迭代器. 语法 以下是 reversed 的语法: reversed(seq)(seq) 参数 seq -- 要转换的序列,可以是 tuple, string ...

  9. Python3 try-except、raise和assert解析

    20220221 案例 def product(x):result = 1print(x)count = 0for i in x:try:result *= float(i)except Except ...

最新文章

  1. JAVA不使用POI给Word文档添加水印
  2. 5 加盐_小葱拌豆腐的5种做法,收藏起来慢慢学!
  3. C++突破private的方案
  4. LiveVideoStackCon深圳-服务端的任务越来越重
  5. 双向循环链表【数据结构】
  6. HTML特殊字符显示
  7. Duplicate class com.blankj.utilcode.BuildConfig found in modules classes.jar
  8. HDU 4649 Professor Tian(概率DP)题解
  9. Confluence 6 安全相关问题提交链接
  10. 诺基亚 XGS-PON FTTP 系统在科威特完成测试
  11. c语言迭代埃特金加速算法,5-埃特金加速迭代算法
  12. 信诺科学计算机说明书,计算机科学技术专业简介(Introduction to computer science and technology).doc...
  13. 201819102040张辰飞
  14. Kettle Carte简介
  15. 投影仪不能显示桌面图标(文字)
  16. WebRTC Native M96音频基础知识介绍--使用Opus
  17. Arduino电位器控制
  18. JVM垃圾收集器(三)
  19. 从电报到5G,细说60年移动通信史的7个变革
  20. TeamCity打包部署镜像

热门文章

  1. Vue页面跳转后不显示问题
  2. esl证明函 oracle_强弱分明 Astralis证明之战—ESL科隆B组浅析
  3. uniapp 获取图片的高度_uni-app获取元素高度等信息,并设置元素top信息
  4. Java最后_Java最后一次总结
  5. c语言dfs算法全排列代码,c语言dfs解决全排列问题
  6. hashmap为什么线程不安全_StringBuilder为什么线程不安全?
  7. android关机背景,鍵盤消失后的Android白色背景
  8. 控制反转 IOC 与依赖注入 DI
  9. SpringBoot————快速搭建springboot项目
  10. 九城最多多少组服务器,历经4年之久 九城WOW服务器价值几何