Merhaba, Aşağıdaki kodumu çalıştırabilirsiniz. Random metodu ile 4 basamaklı sayı üreterek yaptım. Spesifik bir rakam isterseniz sayi ismindeki değişkene istediğiniz numarayı verebilir yada input ile kullanıcıdan sayıyı direk alabilirsiniz, İyi günler dilerim...
import random
sayi = random.randint(1000,9999) # 4 Basamaklı sayı üretir
print(sayi) # Sayıyı ekrana bastırı
sayi = str(sayi) # Tek tek üzerlerinde gezebilmek için string'e çevirdik.
listSayi = list() # Sayılarımızı bu listede ayrı ayrı toplayıp koşullarımızı üzerlerinde sorgulayacağız.
for i in sayi:
listSayi.append(int(i)) # Elemanlarımızı tek tek döngüden geçirip, integer'a çevirip (Büyüklüğünü kontrol etmek için) listemize ekledik.
buyukSayi = max(listSayi) # Aralarında en büyük olan sayıyı bulduk
buyukSayiIndex = listSayi.index(buyukSayi) # Büyük sayının listedeki index numarasını aldık
listSayi[0],listSayi[buyukSayiIndex] = listSayi[buyukSayiIndex],listSayi[0] # En büyük sayı ile ilk sayımızın yerlerini değiştirdik.
index = 1
if listSayi[1] % 2 == 0: # Sayı çift sayıysa bu bloğa gir dedik
for i in listSayi[1:]: # 1. index ve sonrasını al dedik.
listSayi[index] = 0 # Hepsini 0 yap dedik.
index += 1
else: # Sayı tek sayıysa bu bloğa gir dedik
for i in listSayi[1:]: # 1. index ve sonrasını al dedik.
listSayi[index] = listSayi[1] # 1. index ve sonrası komple bu tek olan sayı olsun dedik.
index += 1
result = str() # Son olarak istediğimiz gibi düzenlenen 4 basamaklı sayımızı saklayacağımız değişkeni oluşturduk
for i in listSayi:
result += str(i) # Listede tek tek gezinerek değişkene string ifade olarak rakamlarımızı ekledik
result = int(result) # Stringimizi integer'a çevirdik.
print(result) # ve sonuç...