如何更改数字中的数字

时间:2017-03-17 07:07:15

标签: python

我正在尝试学习python。 假设有一个数字n = 12345。 如何从第一个点开始改变每个数字并在(1-9)和(0-9)之后的每个其他点之间迭代它。 我很遗憾地学习python,所以我为可能出现的所有语法错误道歉。 这是我对代码骨架的最后几次尝试/想法。

define the function
turn n into string
start with a for loop that for i in n range(0,9) for i[1]
else range(10)

基本上如何在更改其他数字时修复数字? 请不要给出解决方案,只是提示我喜欢思考过程。

For example if n =29 the program could check
19,39,49,59,69,79,89,99
and
21,22,23,24,25,26,27,28

1 个答案:

答案 0 :(得分:0)

虽然你是新手,但这个过程似乎比你想象的要容易得多。

您希望对数字的每个数字进行更改(让我们说n=7382)。但是你不能迭代数字(甚至不能改变你想要的特定数字):只能迭代迭代(如列表)。字符串是可迭代的。如果您可以进行int-str转换,则可以迭代每个数字,然后打印新数字。

但是你如何只改变你迭代的数字呢?再一次,方法是重复转换(在循环之前将其保存到var中以获得很好的DRY)并获得一个子字符串,该子字符串可以获取除您之外的所有数字。有两种方法可以做到这一点:

  1. 您搜索该特定值并获取其索引(错误)。
  2. 你枚举循环(好)。
  3. 为什么2好?因为你有实际数字的实际位置正在改变(认为在75487中使用7做一个索引作为实际的改变,当你到达最后一个时,它将无法正常工作)。搜索迭代循环中的项以获取其实际索引的方法。

    在Python中获取子字符串的最简单方法是切片。你切片两次:一次是在实际的数字之前获得所有数字,另一次是为了获得所有数字。然后你只需将这两个str加上实际的变量号就可以了。

    我希望我没有为你提供方便,但这对于一项简单的任务来说很难。