while-loop到6174号

时间:2015-07-22 18:57:58

标签: python-3.x

我是编程的初学者,并且在一项任务中苦苦挣扎了一段时间。 想要编写一个程序,找出需要多少次迭代才能从指定的数字到达数字6174。

例如:如果我拿号码2341并对其进行排序。

1)4321-1234 = 3087
 2)8730-378 = 8352
 3)8532-2358 = 6174(在这种情况下,它需要3次迭代。)

我必须使用,, while循环,它运行代码,直到它到达数字6174并停止。

我写了一段代码:

@Path("/myappname")
public class CatchItAll {

    @GET
    @Path("/{anyThing:.*}")
    public String catch(@PathParam("anyThing") String anyThing) {

    }
}

你能给我一些提示,告诉我如何用while循环运行它。

1 个答案:

答案 0 :(得分:1)

# untested, all bugs are free  ;)
n = input('write for nummbers ')
n = int(n) # you need n as a number
i=0  
while n != 6174:
    i += 1     #"i" show how many times iteration happened.
    large = "".join(sorted(str(n), reverse=True))
    little = "".join(sorted(str(n),))
    n = int(large) - int(little)
print(n, i)