Python renkli yazı konsol ekranında bozuluyor

Seadhy

Kilopat
Katılım
15 Temmuz 2018
Mesajlar
1.066
Çözümler
5
Merhaba, ben Python ile bir konsol programı yazdım ve yazıları renklendirdim. Ancak Visual Studio Code üzerinde renkli gözüken kod konsol ekranında bozuluyor, bunu nasıl düzeltebilirim? Yardımcı olursanız sevinirim.

Visual Studio Code üzerinde çalıştırdığımda:

1628602374449.png


Çift tıklayıp açtığımda:

1628602368521.png
 
Python'a hakim değilim. Ama kod olmadan böyle bir konu açmanın saçma olduğunu biliyorum.
Python ile konsol programını nasıl "yaptığını" da anlatsan iyi olur.


Python:
import math
from colorama import *
from time import sleep

print("""
**********************

Hesap Makinesi

- İŞLEMLER -

[1] Toplama
[2] Çıkarma
[3] Bölme
[4] Çarpma
[5] Karakök
[6] Üssünü Alma
[7] Asal Sayı Kontrol
[8] EBOB Hesaplayıcı
[9] EKOK Hesaplayıcı
[q] Programdan çıkış

***************
""")

# color

blue = Fore.BLUE
red = Fore.RED
green = Fore.GREEN
magenta = Fore.MAGENTA

# function


# asal check
def asal_mi(sayi):

    if(sayi == 1):
        return True #print("\n{}, bir asal sayı değil!".format(sayi))

    elif(sayi == 2):
        return True #print("\n{}, bir asal sayı!".format(sayi))

    else:
        for i in range(2,sayi):
            if (sayi % i == 0):
                return False #print("\n{}, bir asal sayı değil!".format(sayi))
        else:
            return True #print("\n{}, bir asal sayı!".format(sayi))

while True:
    secim = input(magenta + "Hangi işlemi yapmak istediğiniz seçin: \n")
    if(secim == "q"):
         print(red + "Programdan çıkış yapılıyor... ")
         sleep(1.5)
         break
    else:
     secim = int(secim)

     if(secim == 1):
        sayi11 = int(input(green + "Toplamak istediğiniz birinci sayı: "))
        sayi12 = int(input(green + "Toplamak istediğiniz ikinci sayı: "))
        sonuc1 = sayi11+sayi12
        print(blue + "\nSonucunuz: {}\n".format(sonuc1))

     elif(secim == 2):
         sayi21 = int(input(green + "Çıkarılmasını istediğiniz sayı: "))
         sayi22 = int(input(green + "Çıkarmak istediğiniz sayı: "))
         sonuc2 = sayi21 - sayi22
         print(blue + "\nSonucunuz: {}\n".format(sonuc2))

     elif(secim == 3):
         sayi31 = float(input(green + "Bölünmesini istediğiniz sayı: "))
         sayi32 = float(input(green + "Bölmesini istediğiniz sayı: "))
         sonuc3 = sayi31 / sayi32
         print(blue + "\nSonucunuz: {}\n".format(sonuc3))

     elif(secim == 4):
         sayi41 = int(input(green + "Çarpılmasını istediğiniz birinci sayı: "))
         sayi42 = int(input(green + "Çarpılmasını istediğiniz ikinci sayı: "))
         sonuc4 = sayi41 * sayi42
         print(blue + "\nSonucunuz: {}\n".format(sonuc4))

     elif(secim == 5):
         sayi51 = int(input(green + "Karakökünün hesaplanmasını istediğiniz sayı: "))
         sonuc5 = math.sqrt(sayi51)
         print(blue + "\nSonucunuz: {}\n".format(sonuc5))

     elif(secim == 6):
         sayi61 = int(input(green + "Sayının tabanı olmasını istediğiniz sayı: "))
         sayi62 = int(input(green + "Sayının üssü olmasını istediğiniz sayı: "))
         sonuc6 = math.pow(sayi61,sayi62)
         print("\nSonucunuz: {}\n".format(sonuc6))
     elif(secim == 7):
         secim71 = int(input(green + "Asal olduğunu sorgulamak istediğiniz sayı: "))
         if(asal_mi(secim71)):
             print(blue + "{}, bir asal sayı!".format(secim71))
         else:
             print(red + "{}, bir asal sayı değil!".format(secim71))

     elif (secim == 8):
         sayi81 = int(input(green + "EBOB'unu hesaplayacağınız 1. sayı: "))
         sayi82 = int(input("EBOB'unu hesaplayacağınız 2. sayı: "))
         sonucebob = math.gcd(sayi81,sayi82)
         print(blue + "SONUÇ: ebob({},{}) = {}".format(sayi81,sayi82,sonucebob))

     elif (secim == 9):
         sayi91 = int(input(green + "EKOK'unu hesaplayacağınız 1. sayı: "))
         sayi92 = int(input(green + "EKOK'unu hesaplayacağınız 2. sayı: "))
         sonucekok = (sayi91 * sayi92) / math.gcd(sayi91,sayi92)

         print(blue + "SONUÇ: ekok({},{}) = {}".format(sayi91,sayi92,sonucekok))

     else:
         print(red + "Hatalı parametre! Tekrar deneyiniz. \n")
         sleep(0.5)
 
"Bildiğim kadarıyla" bu renklendirme işi Linux vb. işletim sistemlerinde geçerli.

Windows için;
Python:
import os

os.system("color a")
 

Geri
Yukarı