我希望能够让用户输入多个数字,并能够将输入分开,这样我就可以对各个数字进行操作。 我可以做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来满足我的需求,也有任何建议。
答案 0 :(得分:1)
示例中可能需要进行一些更正。例如
23 - > 2 ^ 2 + 3 ^ 2 = 13 - > 1 ^ 2 + 3 ^ 2 = 10 - > 1 ^ 2 = 1。
如果您想参考数字的数字,您应该将其转换为字符串或数字列表(作为区间[0,9]上的整数)。
str
函数进行字符串转换非常简单,例如str(23)
。[int(d) for d in str(number)]
。在这种类型的迭代中,您不知道提前的步骤数,这意味着在这种情况下while
循环是合适的。
答案 1 :(得分:0)
分割数字的两种方法:
算术:整数除以10将给出最后一位数作为余数,其余数字作为商。在Python中,最好的方法是使用await Task.FromResult(...)
:
return Json(action, JsonRequestBehavior.AllowGet);
作为一串数字:将数字转换为打印形式并使用数字进行播放。
divmod()
您可以将数字字符转换回整数,例如>>> rest, last = divmod(2017, 10)
>>> print(rest, last)
201 7
。
所以你的问题的答案就是这样。操纵数字很有趣。