Python 将字符串转换为整数元组,并将其添加到元组列表中

Python 将字符串转换为整数元组,并将其添加到元组列表中,python,string,list,tuples,map-function,Python,String,List,Tuples,Map Function,这是一项旨在教授“地图”功能的作业 用户输入一个分数,如“1/2”或“6/19”,然后将其从字符串转换为整数元组 输入所有分数后,将返回元组列表 我利用这个列表来减少、过滤和排序元组,但我甚至不知道如何开始这个问题并得到这个列表 下面是一个应该起作用的示例: 我需要有关打开输入分数的帮助: Enter fraction: 1/2 Enter fraction: 6/19 Enter fraction: 20/8 进入元组 (1, 2) (6, 19) (20, 8) 得到所有分数后,需要返回

这是一项旨在教授“地图”功能的作业

用户输入一个分数,如“1/2”或“6/19”,然后将其从字符串转换为整数元组

输入所有分数后,将返回元组列表

我利用这个列表来减少、过滤和排序元组,但我甚至不知道如何开始这个问题并得到这个列表

下面是一个应该起作用的示例:

我需要有关打开输入分数的帮助:

Enter fraction: 1/2
Enter fraction: 6/19
Enter fraction: 20/8
进入元组

(1, 2)
(6, 19)
(20, 8)
得到所有分数后,需要返回一个元组列表

[(1, 2), (6, 19), (20, 8)]
这就是我到目前为止所做的:

def prompt_fractions():
    frac_list = []
    while True:
        my_frac = input("Enter fraction: ")
        if my_frac == "stop":
            return frac_list
        else:
            print(my_frac)
            frac_list.append(my_frac)

def main():
    frac_list = prompt_fractions()
    print(frac_list)
我试着用

my_frac = list(map(prompt_fractions, my_frac))


但是第一个需要另一个论证,我不知道第二个该怎么办。

你就快到了
my_frac.split('/')
返回字符串列表,而不是整数元组:

>>> '1/2'.split('/')
['1', '2']
所以你需要转换<代码>映射()在这里很方便:

my_frac = tuple(map(int, my_frac.split('/')))
这将生成一个元组,其中拆分结果的每个部分首先转换为整数:

>>> tuple(map(int, '1/2'.split('/')))
(1, 2)
>>> tuple(map(int, '6/19'.split('/')))
(6, 19)
>>> tuple(map(int, '20/8'.split('/')))
(20, 8)

非常感谢你!我知道这是一个简单的修复,我只是不知道那是什么。
>>> tuple(map(int, '1/2'.split('/')))
(1, 2)
>>> tuple(map(int, '6/19'.split('/')))
(6, 19)
>>> tuple(map(int, '20/8'.split('/')))
(20, 8)