Python 提取分子分母题目

题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13。
1) 请分别提取每个分数的分子与分母;
2) 分别将提取出的分子与分母求和,例分子:2+3+5+8+13+21。

你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

s = '2/1 3/2 5/3 8/5 13/8 21/13'
li = [x.split('/') for x in s.split(" ")]
# print(li)
a = sum([int(x[0]) for x in li])
b = sum([int(x[1]) for x in li])
print(a)
print(b)

img

使用str.split():字符串分割函数
通过指定分隔符对字符串进行切片,并返回分割后的字符串列表。
语法:
str.split(s, num)[n]
参数说明:
  s:表示指定的分隔符,不写的话,默认是空格(’ ‘)。如果字符串中没有给定的分隔符时,则把整个字符串作为列表的一个元素返回。
  num:表示分割次数。如果指定了参数num,就会将字符串分割成num+1个子字符串,并且每一个子字符串可以赋给新的变量。
  [n]:表示选取第n个分片,n表示返回的list中元素下标,从0开始的。

有帮助望采纳

list1 = ['2/1', '3/2', '5/3', '8/5', '13/8', '21/13']
list2 = []
list3 = []
for num in list1:
    list2.append(int(num.split('/')[0]))
    list3.append(int(num.split('/')[1]))
print(list2)
print(list3)
print(sum(list2))

print(sum(list3))