Mors Kodu Oluşturucu/Çevirici

Uygulama size girilen metni mors koduna çevirme ve mors kodundan metne çevirme özelliklerini sunuyor. Sonucu bip sesleri ve çıktıyla veriyor. Eklememi istediğiniz fikirlerinizi söylemekten çekinmeyin.

import winsound
uzun,kisa = 700,200
menu = """Mors kodu oluşturucu/çevirici
(1)Morsa çevir
(2)Morstan çevir
(3)Çık"""
alfabe = [["a",".-"],["b","-..."],["c","-.-."],["d","-.."],["e","."],["f","..-."],["g","--."],["h","...."],["i",".."],["j",".---"],["k","-.-"],["l",".-.."],["m","--"],["n","-."],["o","---"],["p",".--."],
          ["q","--.-"],["r",".-."],["s","..."],["t","-"],["u","..-"],["v","...-"],["w",".--"],["x","-..-"],["y","-.--"],["z","--.."],["0","-----"],["1",".----"],["2","..---"],["3","...--"],["4","....-"],["5","....."],
          ["6","-...."],["7","--..."],["8","---.."],["9","----."]]
cevirilen_metin = ""
mors = ""
morstan_cevrilen = []
def oynat():
    global mors
    for i in mors:
        if i == "-":
            winsound.Beep(2000,uzun)
        if i == ".":
            winsound.Beep(2000,kisa)
while True:
    print(menu)
    cevirilen_metin = ""
    morstan_cevrilen = []
    secenek = int(input("Seçiminiz:"))
    if secenek == 1:
        metin = input("Çevrilmesini istediğiniz metini giriniz:")
        for i in metin:
            for z,x in alfabe:
                if i == z:
                    cevirilen_metin += x + " "
        mors = cevirilen_metin
        print("Sonuç:",cevirilen_metin)
        oynat()
    if secenek == 2:
        metin = input("Çevrilmesini istediğiniz kodu giriniz:")
        baslangic,indis = 0,0
        while indis < len(metin) - 1:
            indis += 1
            if metin[indis] == " ":
                morstan_cevrilen.append(metin[baslangic:indis])
                baslangic = indis + 1
        morstan_cevrilen.append(metin[baslangic:len(metin)])
        for i in morstan_cevrilen:
            for z,x in alfabe:
                if i == x:
                    cevirilen_metin += z
                    mors += i
        print("Sonuç:",cevirilen_metin)
        oynat()
    if secenek == 3:
        print("Yine bekleriz!")
        exit()

2 Beğeni

Ahh birde winsound yerine başka birşey kullansaydin MP3 vs. Linuxtada kullanırdık ne güzel olurdu bıre :rofl::rofl::rofl:

2 Beğeni

baya tatlı olmuş hocam eline sağlık

1 Beğeni

Windows kullandığımdan linux üzerinde test edemedim. Bir de linuxtaki paketler winsound gibi öntanımlı değildi. Kimse küçük bir programı denemek için paket yüklemez diye düşündüm.

Niye benim gibi meraklılarına var bu evrende​:crazy_face::crazy_face::crazy_face:

Meraklı olsaydın:

#import winsound
#uzun,kisa = 700,200
menu = """Mors kodu oluşturucu/çevirici
(1)Morsa çevir
(2)Morstan çevir
(3)Çık"""
alfabe = [["a",".-"],["b","-..."],["c","-.-."],["d","-.."],["e","."],["f","..-."],["g","--."],["h","...."],["i",".."],["j",".---"],["k","-.-"],["l",".-.."],["m","--"],["n","-."],["o","---"],["p",".--."],
          ["q","--.-"],["r",".-."],["s","..."],["t","-"],["u","..-"],["v","...-"],["w",".--"],["x","-..-"],["y","-.--"],["z","--.."],["0","-----"],["1",".----"],["2","..---"],["3","...--"],["4","....-"],["5","....."],
          ["6","-...."],["7","--..."],["8","---.."],["9","----."]]
cevirilen_metin = ""
mors = ""
morstan_cevrilen = []
#def oynat():
#    global mors
#    for i in mors:
#        if i == "-":
#            winsound.Beep(2000,uzun)
#        if i == ".":
#            winsound.Beep(2000,kisa)
while True:
    print(menu)
    cevirilen_metin = ""
    morstan_cevrilen = []
    secenek = int(input("Seçiminiz:"))
    if secenek == 1:
        metin = input("Çevrilmesini istediğiniz metini giriniz:")
        for i in metin:
            for z,x in alfabe:
                if i == z:
                    cevirilen_metin += x + " "
        mors = cevirilen_metin
        print("Sonuç:",cevirilen_metin)
#        oynat()
    if secenek == 2:
        metin = input("Çevrilmesini istediğiniz kodu giriniz:")
        baslangic,indis = 0,0
        while indis < len(metin) - 1:
            indis += 1
            if metin[indis] == " ":
                morstan_cevrilen.append(metin[baslangic:indis])
                baslangic = indis + 1
        morstan_cevrilen.append(metin[baslangic:len(metin)])
        for i in morstan_cevrilen:
            for z,x in alfabe:
                if i == x:
                    cevirilen_metin += z
                    mors += i
        print("Sonuç:",cevirilen_metin)
 #       oynat()
    if secenek == 3:
        print("Yine bekleriz!")
        exit()

Kodun winsound ile iligli kısmını çıkarıp kodu basitçe deneyebilirdin en azından.

Sonra da o kısım için linux da ses nasıl üretilebilir ilgili fonksiyonu araştırır, yoruma çevirdiğim kod parçası içerisine yeniden yazabilirdin.

How to Play Sound in Python (linuxhint.com)

Basit bir kütüphane yükler, uzun ve kısa beep sesi içeren iki dosyayı örnekteki gibi oynat fonksiyonunun içine yazar çalıştırabilirdin.

Sporla ilgilenir misiniz? Evet futbol. Fenerliyim demek gibi bir şey. Ama spor yapmıyorsun?!

Meraklı mısın?

Hayır.

Güzel basit bir kod. Örnekleri internette sayısız bulunabilir.

Ama meraklı olan biri kodu çalıştırmak için, üzerinde oynamaktan çekinmez.

Çünkü kurcalamadan, kodu değiştirmeden, kodun her satırını incelemeden ne öğrenilir, ne de meraklı biri sayılırsın.

Buyur dene kodu, linuxta sorun yaşamayacak şekilde kısalttım. İlgili kısımları da ses için kodla dene ve paylaş.

Kolay gelsin.

1 Beğeni

Sende küstah olsaydın konuya direk meraklı olsaydın diye başlardin.
Sonrada bilgiç bilgiç konuşur afra tafra yapardın. Senin dediklerini zaten konuyu ilk okudugumda yapmıştım bilmeyen veya yeni öğrenen arkadaşlarımız için linux türevlerini ogrensin diye linux versionunuda yazmasini istemiştim (kibarca) ama küstah olanlar abuk sabuk konuşsun diyede latife yapmıştım. Ama sen küstah değilsin , bu yazdıklarımı üstüne alınma sakın , çünkü küstah olmanın bile bir seviyesi vardır. Bilmem anlatabildim mi.

Linux kullanıcıları ile ilgili bir hassasiyetin var ve konuyu ilk okuduğunda yaptın ve buna rağmen burada paylaşmadın öyle mi?

Latife yapacağına, kodu paylaşsaydın, Linux kullanıcılarına daha faydalı olurdun.

Kimse yazdığı kodu linux kullanıcılarını düşünerek yazmak zorunda değil, kibarca yaptığın latfeyi küstahlık olarak algılamayıp, bunu küstahlık algılaman algıda seçicilik.

Linux kullanıcılarına bir hayrın olmamış anlayacağın. Yine iş o küstaha düşmüş, kodu paylaşmış değil mi?