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