使用Python实现对实数的格式化输出(针对小数位进行处理)

使用random库中相关方法生成随机数,并对其进行格式化输出


(读者觉得理论部分杂乱时,可直接单击索引进入代码区查看代码,在返回阅读理论知识。)

1.生成随机数部分理论知识

以下是我对相关方法的积累:
生成随机数,引入random库,因为要生成相应随机数据。

  1. 注意1: 引入random库,与numpy中random模块不同: import random
  2. 注意2: 了解random库中的所有方法:
  3. random.random():用于生成区间[0,1)的浮点数。
  4. random.randint(a,b):用于生成一个指定范围内的整数,其中a是下限,b是上限。生成区间[a,b]的随机整数。
  5. random.randrange(int a,int b,temp):生成区间[a,b)的随机整数。
  6. random.choice([序列]):产生序列中的随意一个元素,可用于造句等。
  7. random.sample(String,int):生成指定字符中指定个数的随机字符, string.ascii_letter,string.ascii_lowercase,string_uppercase,string_digits为ASCII码中的字符,详情可上网了解。
  8. jion()方法:用指定字符将指定字符连接成新字符串。
  9. random.sample([序列],int):生成指定序列中指定个数的随机字符并连接成新字符串或新序列。
  10. random.shuffle([序列]):将指定序列打乱 。
  11. random.uniform(a,b):用于生成一个指定范围内的随机浮点数,两个参数其中一个是上限,一个是下限。

允许a>b
如果a>b,则生成区间[a,b]的随机数n:b<=n<=a;
如果a<b,则生成区间[b,a]的随机数n:a<=n<=b。

这里我从常使用上方黄色标注的几类方法。

2.实数格式化部分理论知识


下面将使用其几类方法生成随机数。并对其格式化。

  1. round()方法:
    1.1、rounf(i):返回一个最接近i的整数。
    1.2、round(i,j):对i进行指定小数位为j进行输出,当i的第j个小数位是奇数时,进行四舍五入;当i的第j个小数位是偶数时,直接舍去。
  2. %格式化输出时进行赋值: (“%m.nf”%i):i为被控制格式的变量,m全取使可不指定。
  3. {}格式化输出时进行赋值: (“{m.nf}”.format(i)):i为被控制格式的变量,m全取时可指定为:(英文冒号)。

3.综合运用代码实例

接下来直接进行代码运用即可。
这里我将生成随机数与对数值进行格式化均封装在了同一类中。若需使用,则直接创建对象调用方法即可。

import random as rd
#生成随机数
class DigitTransform(object):
    #生成默认为区间[0,1)的浮点数
    def defaultFloatDigit(self):
        data = rd.random()
        return data
    # 生成指定[a,b]之间的随机浮点数,a,b为闭区间
    def appointFlostDigit(self,a,b):
        data = rd.uniform(a,b)
        return data
    #生成[a,b]之间的随机整数,a,b为闭区间
    def appointCloseIntegerDigit(self,a,b):
        data = rd.randint(a,b)
        return data
    #生成[a,b)之间的随机整数,b为开区间,步长可无
    def appointOpenIntegerDigit(self,a,b,step):
        if step==1:
            data = rd.randrange(a,b)
        else:
            data = rd.randrange(a,b,step)
        return data
#控制小数位输出
    #使用round格式化小数位输出
    def ControlRound(self,data,j):
        data = round(data,j)
        return data
    #使用.format格式化小数位输出
    def ControlFormat(self,data):
        data = float(data)
        data = "{:.6f}".format(data)
        return data
    #使用%格式化小数位输出
    def ControlPercent(self,data):
        data = float(data)
        data = "%.6f"%(data)
        return data

通过创建该类对象,调用其方法。
这里对小数的处理是默认保留小数后六位。

import RandomDigit.RandomIntergration as RI              #导入该类
#获取操作类对象,类中定义了object,创建类对象时括号()不能少
object = RI.DigitTransform()                             #创建连接对象(没有构造函数)
c = 3.141592695
j = 5
a = 10
b = 15
data = object.ControlRound(c,j)
print(data,'\n')
data = object.appointFlostDigit(a,b)
data = object.ControlFormat(data)
print(data,'\n')
data = object.appointCloseIntegerDigit(a,b)
data = object.ControlPercent(data)
print(data)

运行结果为:
在这里插入图片描述

若觉得内容稍可,请留下你们的

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值