python怎么实现分数形式_python实现将将输入的可约分数化简为不可约分数
有时候需要将分数化简,比如:3/12就应该表示为:1/4
12/3就应该表示为:4
等等,今天就简单使用python实现一下,思想很简单:
1.判断分母是否为0,为0则终止,输入错误
2.判断分子是否可以整除分母,是这说明输入的形式实际为一个整数,化简输出即可
3.找到二者中较小的数字,以此为基准,遍历从1到该数,看原始数字分母分子是否可以同时整数遍历到的数字,若能则更新分子分母,否则继续遍历
实现如下:
#!usr/bin/env python
#encoding:utf-8
'''
__Author__:沂水寒城
功能:输入两个整数,转化为不可约分数形式
'''
import random
def random_pair_num_generator(total_num=20, max_value=1000):
'''
生成随机数对作为分子分母,用于测试
'''
num_list=[]
for i in range(total_num):
num1=random.randint(1,max_value)
num2=random.randint(1,max_value)
num_list.append([num1,num2])
return num_list
def transform_num2_ratio(num1, num2):
'''
输入:分子,分母
输出:不可约分数形式
'''
if num2==0:
print '分母不能为0,重新输入!'
elif num2%num1==0:
print num2/num1
else:
temp=min(num1, num2)
for i in range(1,temp):
if num1%i==0 and num2%i==0:
num1/=i
num2/=i
print str(num1)+'/'+str(num2)
def main_func(num_list):
'''
主调用函数
'''
for i in range(len(num_list)):
one_num=num_list[i]
print '------------------------------------------------------------------'
transform_num2_ratio(one_num[0], one_num[1])
if __name__ == '__main__':
transform_num2_ratio(4,6)
transform_num2_ratio(4,12)
transform_num2_ratio(4,0)
num_list=random_pair_num_generator(total_num=20, max_value=1000)
main_func(num_list)
结果如下:
2/3
3
分母不能为0,重新输入!
------------------------------------------------------------------
49/45
------------------------------------------------------------------
127/60
------------------------------------------------------------------
190/473
------------------------------------------------------------------
951/254
------------------------------------------------------------------
47/313
------------------------------------------------------------------
676/387
------------------------------------------------------------------
255/563
------------------------------------------------------------------
124/87
------------------------------------------------------------------
325/43
------------------------------------------------------------------
694/293
------------------------------------------------------------------
369/295
------------------------------------------------------------------
311/317
------------------------------------------------------------------
89/91
------------------------------------------------------------------
13/103
------------------------------------------------------------------
74/149
------------------------------------------------------------------
5/48
------------------------------------------------------------------
759/277
------------------------------------------------------------------
721/125
------------------------------------------------------------------
979/644
------------------------------------------------------------------
179/38
[Finished in 0.3s]
python怎么实现分数形式_python实现将将输入的可约分数化简为不可约分数相关推荐
- python怎么实现分数形式_python分数怎么表示什么
详细内容 Fraction函数是python中实现分数的一个模块(module),模块是由别人写的,并且可以被拿来直接使用的代码程序,包括类.函数以及标签的定义,是python标准函数库的一部分.使用 ...
- python怎么进行分数运算_Python中的分数运算
Python中的分数运算,在Python标准库fractions中的Fraction对象支持分数运算.具体操作如下: 在windows下,通过cmd进到dos shell,输入python3进入到py ...
- python逆序输出字符串_python实现对指定输入的字符串逆序输出的方法
这篇文章主要介绍了python实现对指定输入的字符串逆序输出的6种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 对于一个给定的字符串,逆序输出,这个任务对于python来说是一种很简单的操作 ...
- python函数调用的一般形式_Python的函数的定义与使用示例
Python培训分享函数的定义与使用示例,结合实例形式分析了Python函数的定义.参数.变量作用域.返回值等相关概念与使用技巧. Python定义函数使用def关键字,一般格式如下: def 函数名 ...
- python列表的表示形式_python 列表推导式
1.列表推导式书写形式: [表达式 for 变量 in 列表] 或者 [表示式 for 变量 in 列表 if 条件] 1 #!/usr/bin/python 2 #-*- cod ...
- python字符串的表示形式_python - 如何为类对象创建自定义字符串表示形式?_class_酷徒编程知识库...
当前python 3的更新如下:class MC(type): def __repr__(self): return 'Wahaha!' class C(object, metaclass=MC): ...
- python二分之紧凑形式_python实现二分查找算法
介绍 二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法.但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列. 前提 必须待查找的序列有序 时间复杂 ...
- python判断手机号码是否正确_Python.弄清楚如何输入正确的电话号码
因此,我是python的新手,我正在编写一个程序,该程序接受XXX-XXX-XXXX格式的电话号码,并将所有字母更改为相应的数字.我需要检查条目并确保其格式正确,如果不正确,请允许其重新输入.我很难让 ...
- python逆序输出字符串_python实现对指定输入的字符串逆序输出的6种方法
编写一个Python程序,提示用户输入一个字符串,程按照你的要分享编写的逆序显示字符串的Python3程序如下 s = input("请输入一个字符串:")print(s[::-1 ...
- python匿名函数的作用_Python中的匿名函数及递归思想简析
匿名函数 前言 上次咱们基本说了一下函数的定义及简单使用,Python中的基本函数及其常用用法简析,现在咱们整点进阶一些的.同样都是小白,咱也不知道实际需要不,但是对于函数的执行顺序以及装饰器的理解还 ...
最新文章
- Array.slice 8 种不同用法
- 基本拖拽效果,使用 mousedown , mousemove , mouseup实现
- Spring Boot (4)---配置文件详解
- 人脸表情识别从0到部署,猜猜『轮到你了』的微笑狼人到底是谁!
- 【正点原子STM32连载】第十章 STM32CubeMX简介 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1
- 基于java的商店销售管理系统
- java socket 连接异常_JAVA Socket连接服务器时可能抛出的异常
- Well-ordered String
- vue的微信语音功能,录音+对接口返回amr音频播放
- UVM基本介绍(UVM class hierarchy、验证平台、树状图)
- FinTech头条丨神州信息分布式核心助力广西北部湾银行科技惠民,打造“广西自己的银行”!
- Arduino库 <TFT_eSPI> 中文字库的制作与使用
- cad图纸怎么看懂_如何看懂CAD图?
- 在线课程推荐(国外篇)
- 血氧仪语音芯片,超低功耗待机语音IC方案,可自己烧写语音WT588F
- ggplot2--geom_smooth和曲线拟合画图
- python os.path.split_python 中的split()函数和os.path.split()函数
- Linux系统下利用Impost3r劫持sudo命令窃取凭据
- 使用iSCSI搭建共享存储服务
- COM ATL IDispatchEx InvokeEx 钩子