PTA L1-009 N个数求和 (20 分) "Python3"

该博客介绍如何处理PTA中L1-009题,即求解一系列有理数的和。题目要求读取不超过100个有理数,每个数以分子/分母的形式给出,然后输出它们的最简分数和。输入和输出格式明确,确保所有数字的分子和分母都在长整型范围内,并且负数的符号在分子前。博客将详细解析解题思路和Python3代码实现。
摘要由CSDN通过智能技术生成
import enum
import os
class Fenshu(enum.Enum):
    Fenzi=0
    Fenmu=1
# 辗转相除法
def a(n1,n2):
    data=max(n1,n2)%min(n1,n2)
    if data!=0:
        result=a(min(n1,n2),data)
    else:
        return min(n1,n2)
    return result
data=int(input())

# 如果输入为0 直接结束程序
if data==0:
    print(0)
    os._exit(0)

datas=input().split()
# print(datas)
dicts=[[]*1000]*1000
# print(dicts)
for i in range(data):
    dicts[i]=datas[i].split("/")
# 将字典里的str转换为int 类型
dicts=[[int(x) for x in y]for y in dicts]
# print(dicts[0][Fenshu.Fenzi.value])
# g最大公约数
# 计数
count=0

result_fenzi=dicts[count][Fenshu.Fenzi.value]
result_fenmu=dicts[count][Fenshu.Fenmu.value]

while(True):
   # first_fenzi=dicts[count][Fenshu.Fenzi.value]
   # first_fenmu=dicts[count][Fenshu.Fenmu.value]

   next_fenzi=dicts[count+1][Fenshu.Fenzi.value]
   next_fenmu=dicts[count+1][Fenshu.Fenmu.value]
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值