2015-07-22 2 views
0

Я начинаю программировать и некоторое время боролся с одной задачей. Хотите написать программу, которая узнает, сколько итераций требуется для получения номера 6174 с указанного номера.while-loop to number 6174

Например: если я принимаю номер 2341 и сортирую его.

1) 4321-1234 = 3087
2) 8730-378 = 8352
3) 8532-2358 = 6174 (в этом случае `s требуется 3 итераций.)

И я должен использовать ,, while loop, что он запускает код, пока не дойдет до номера 6174 и остановится.

Я написал код:

n =input('write for nummbers ') 
n=str(n) 
i=0 
i+=1  #"i" show how many times iteration happend. 
large = "".join(sorted(n, reverse=True)) 
little = "".join(sorted(n,)) 
n = int(large) - int(little) 
print(n, i) 

Можете ли вы дать Mee некоторый намек, как я мог бы запустить его с цикла While.

+1

'while n <> 6174'? –

+0

@Marc Любая причина, по которой вы использовали '<>' вместо '! ='? – Carcigenicate

+0

Псевдо-код, чтобы дать OP что-то думать ... –

ответ

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)