Python 3如何获取多位数输入并分成每个数字

时间:2017-04-15 20:13:01

标签: python input

我希望能够让用户输入多个数字,并能够将输入分开,这样我就可以对各个数字进行操作。 我可以做2位数,我想我可以编写一个循环来自动取数字。 一旦我有每个数字,我想平方并求和重复,直到平方和为1或收敛到1以外的值。

我再次可以做2个数字而没有循环,但需要重复直到1或不。

实施例。输入23 2 ^ 2 + 3 ^ 2 = 13 然后取1 ^ 2 + 3 ^ 3 = 9 9结束

我不想要实际的代码 1.将输入分开存储和操作的最佳方式 2.最佳循环类型达到1或不。 这是一个名为快乐数字的练习,我相信我能找到但我正在教自己python(我知道F77和Perl - 这是python用户知道它是反Perl ...大声笑)。从编码任何东西开始,我已经学习了python和ruby的基础知识,因为像Fortran这样的python似乎融入了科学,我专注于此。我学习了Perl的生物信息学毕业班,但python本来有用。任何帮助表示赞赏。如果我正确地使用python而不是ruby来满足我的需求,也有任何建议。

2 个答案:

答案 0 :(得分:1)

示例中可能需要进行一些更正。例如

  

23 - > 2 ^ 2 + 3 ^ 2 = 13 - > 1 ^ 2 + 3 ^ 2 = 10 - > 1 ^ 2 = 1。

  1. 如果您想参考数字的数字,您应该将其转换为字符串或数字列表(作为区间[0,9]上的整数)。

    • 使用str函数进行字符串转换非常简单,例如str(23)
    • 对于数字列表,您可以将列表理解用作[int(d) for d in str(number)]
  2. 在这种类型的迭代中,您不知道提前的步骤数,这意味着在这种情况下while循环是合适的。

答案 1 :(得分:0)

分割数字的两种方法:

  1. 算术:整数除以10将给出最后一位数作为余数,其余数字作为商。在Python中,最好的方法是使用await Task.FromResult(...)

    return Json(action, JsonRequestBehavior.AllowGet);
    
  2. 作为一串数字:将数字转换为打印形式并使用数字进行播放。

    divmod()

    您可以将数字字符转换回整数,例如>>> rest, last = divmod(2017, 10) >>> print(rest, last) 201 7

  3. 所以你的问题的答案就是这样。操纵数字很有趣。