onun haneye n
parçaları halinde gruplanır öyle ki (n
varsayılan değeri 3 olan), her bir Grup I number
dönüştürme için, bir ASCII değerini temsil eder number
bir dizi göz önüne alındığında değerleri Bu ascii karakterlerin bir dizesi. Örneğin:kendi ASCII bir dizeye bir tamsayı dönüştürme
0
, yani ilk ASCII değeri mutlaka
n
basamağı temsil olmayacak
n number Output
==================================
3 70 F
3 65066066065 ABBA
4 65006600660065 ABBA
not edin.
Benim geçerli kod şöyle görünür:
def number_to_string(number, n=3):
number = str(number)
segment = []
while number:
segment.append(number[:n])
number = number[n:]
return str(''.join('{:0>{}}'.format(chr(segment), n) for segment in number))
Beklenen çıktılar:
number_to_string(70)
'F'
number_to_string(65066066065)
'ABBA'
number_to_string(65006600660065, n=4)
'ABBA'
Benim şu anki kod ancak boş bir dize döndürür. Örneğin, 'F' yerine ' '
döndürür. Bunun nedeni nedir? Teşekkür ederim!
P.S. .: I yani this question işlemini ters dize her karakterin (sayı) ASCII değerlerine dayanan bir dizeye bir tamsayıyı açmak isteyen ediyorum
. Ama bu soruyu okumak, buna cevap vermek için bir zorunluluk değildir.
bir kendi kendine yeten bir soru sorarsanız bizler için daha kolay olur. Bunu anlamak için başka bir soru/cevap/yorum seti okumamıza gerek yok. – tom10
Özür dilerim. :( –
Döngü koşulu'nuz 'sayı ise:' .Bu sayı 'sayı' içinde bir şey kaldığında döngü devam edecek ve 'sayı' boş olduğunda duracaktır demektir. deyim, 'sayı' boştur, 'biçimlendirme' çağrısı için hiçbir şey bırakmaz, böylece boş bir dize döndürülür. ('num' segmenti için 'bir yazım hatası' olduğunu ve aslında 'segment için' olması gerektiğini varsayalım sayı olarak.) –