如果你输入(1234)并且想要输出,你如何制作元组 ([1],[2,3,4],[])
输入正在输出122.3 ([1],[2,2],[3])
templistint = [1,2,3,4]
temptuple = [(e,) for e in templistint] #This is as close as I can get.
print (temptuple)
[(1,),(2,),(3,),(4,)]
如果这是模糊的让我知道!我发布了更多自己的作品,但不是很连贯。我一直在试图弄清楚如何将它变成那种格式。例如输入(4321)输出为([4],[3],[2],[1])。
抱歉让我更清楚。
输入(4321) 输出([4],[3,2,1],[]) 4是前导数字,3,2,1是直到小数点的数字,[]为空,因为小数点后面没有数字。这样想: 输入(4321.0) 输出([4],[3,2,1],[])
或者: 输入(4321.1) 输出([4],[3,2,1],[1])
我希望有助于再次澄清对不起。
答案 0 :(得分:0)
我们不是编码服务,但我们可以提供基础知识。
首先,您可以通过多种方式对此进行攻击。我首先假设输入是一个字符串,否则你无法获得真正准确的小数部分。我们称之为 num 。
我们需要先找到小数点:小数部分是它自己的单独列表。
dec_pt = num.find('.')
frac_part = num[dec_pt+1:]
现在,将整数部分转换为真正的整数:
int_part = int(num[:dec_pt])
最后,你需要做一点魔力来给你3位数的数字块。 Python有一个内置函数divmod。如果它对你不熟悉,请查阅。从Python命令行中使用它,以便了解它的工作原理。
int_part, chunk = divmod(int_part, 1000)
你还有很多工作要做,但我希望这会让你感动。您需要将最后一部分放入循环中以获得一系列3位数的块。您需要将每个块处理成三个一位数整数的列表(使用divmod为10?)。你需要附上所有这些部分才能得到你想要的答案。
玩得开心。