Kayra
1
Merhaba,
Ben built-in komutları kullanmadan aşağıdaki gibi basit bir decimal to binary kodu yazdım.
num = int(input("Please enter the number: "))
while num > 0:
if num % 2 == 1:
print(“1”)
if num % 2 == 0:
print(“0”)
num //= 2
Bu kod anlayabildiğiniz gibi yukarıdan aşağı doğru sıralıyor. Ben bunu built-in komutu kullanmadan nasıl sağdan sola doğru yazdırabilirim?
Merhaba.
Birdahakine kodlarınızı buraya göre atın:
Sayıları her seferinde yazdırmak yerine bir değişkende biriktirin. Değişkeni ve yeni karakteri istediğiniz sırayla toplayarak bunu yapabilirsiniz.
print fonksiyonlarındaki end patametresinden faydalanmayı bir deneyin isterseniz.
print("1", end="")
print("0", end="")
Şeklinde denemeler yapın.
Koddaki asıl problem o değil aslında, bu kod 6₁₀
yazınca 011₂
(3₁₀
) çıktısı veriyor mesela:
num = int(input("Please enter the number: "))
while num > 0:
if num % 2 == 1:
print("1", end = "")
if num % 2 == 0:
print("0", end = "")
num //= 2
Çözüm
num = int(input("Please enter the number: "))
s = ""
while num > 0:
s = str(num % 2) + s # yeni string'i en başa ekliyoruz
num //= 2
print(s)
1 Beğeni
Doğrudur, yan yana yazdırma konusunda yardım talep ettiği için önerdim.
1 Beğeni
Kayra
6
Cevaplarınız için çok teşekkür ederim, sorunum çözülmüş oldu.
İyi günler.