Python iki farklı kod nasıl birleştirilir?

Monsieur Fatih

Centipat
Katılım
27 Mart 2021
Mesajlar
38
Çözümler
1
Daha fazla  
Cinsiyet
Erkek
Arkadaşlar benim iki tane PY kodum var ve birini diğerine bağlamak istiyorum. Ekteki gibi bir kod yazdım ama istediğim çıktıyı alamıyorum. İlk koddaki print elemanları vs. çalışmadan direkt bağladığım koda geçiş yapıyor. Var mı yardım edebilecek olan?
 

Dosya Ekleri

  • 1675378520185.png
    1675378520185.png
    9,9 KB · Görüntüleme: 153
  • 1675378574573.png
    1675378574573.png
    23,3 KB · Görüntüleme: 184
giris_ekrani fonksiyonunu çağırmamışsınız. İlk görseldeki en altta bulunan giris ekrani()'nın üstündeki satıra giris_ekrani() yazıp çağırın.
 
Arkadaşlar benim iki tane PY kodum var ve birini diğerine bağlamak istiyorum. Ekteki gibi bir kod yazdım ama istediğim çıktıyı alamıyorum. İlk koddaki print elemanları vs. çalışmadan direkt bağladığım koda geçiş yapıyor. Var mı yardım edebilecek olan?

Görsel olarak değil de kod olarak paylaşır mısınız?
 
Görsel olarak değil de kod olarak paylaşır mısınız?
1. Kod

Python:
import basinc
def giris_ekrani():
    print("HOŞGELNİZ!")
    print("Çevirici?")
    user = input()
    if user == "Evet":
        basinc.giris_kismi()
    else:
        print("Yanlış")
        giris_ekrani()
giris_ekrani()


2.Kod:

Python:
import time

def slow_print(text, delay=0.1):
    for char in text:
        print(char, end='', flush=True)
        time.sleep(delay)
      
def giris_kismi():
    global basinc_birimi
    global atm_cevirici
    global cmHG_cevirici
    global mmHG_cevirici
 
    slow_print("BASINÇ ÇEVİRİCİ\n")
    print("Lütfen çevirmek istediğin basınç birimini seç.(1-atm, 2-cmHG, 3-mmHG)")
    basinc_birimi = input()
    if basinc_birimi == "atm":
        atm_cevirici()
    elif basinc_birimi == "cmHG":
        cmHG_cevirici()
    elif basinc_birimi == "mmHG":
        mmHG_cevirici()
    else:
        print("Böyle Bir Basınç Birimi Bulunmuyor!")
        giris_kismi()

(Kodun böylemi gözükmesi gerekiyor bilmiyorum. Forumda yeniyim kb.)
 
Son düzenleyen: Moderatör:
Neden global keywordunu kullanıyorsunuz ve neden fonksiyonun dışında fonksiyon çağrısı var? Main kısmını ve kodun çıktısını atın.
 
Neden global keywordunu kullanıyorsunuz ve neden fonksiyonun dışında fonksiyon çağrısı var? Main kısmını ve kodun çıktısını atın.
O kadar bilgim yok. Öğrendiklerim doğrultusunda bir şey yapmayı denedim.

giris_ekrani fonksiyonunu çağırmamışsınız. İlk görseldeki en altta bulunan giris ekrani()'nın üstündeki satıra giris_ekrani() yazıp çağırın.
ilk görselde 'else' nin altına yazmışım. Başka nereye yazmam gerekiyor?
 
İkincisinde neden yazdığınız fonksiyonu çağırıyorsunuz? O yüzden direkt oraya geçiyor. Çünkü siz onu import ettiğiniz anda main vs. hiç kullanmadığınız ve o fonksiyonu çağırdığınız için direkt önce o fonksiyon çağrısına uyuyor sistem.

Global keywordu nadiren kullanılır. Bu seviyede kullanmayın. Fonksiyonlarla main kısmı aynı yerde olmaz. Main kısmı için if __name__ == "__main__" kullanabilirsiniz. Classları öğrenmediyseniz bunun ne olduğunu henüz anlamazsınız ama önemli. Bu şekilde ararsanız düzgün bir anlatımını bulabilirsiniz. Kodlarınızda çok fazla "bad practice" yani yanlış veya standart dışı kullanım var. Nereden Python öğreniyorsunuz bilmiyorum ama sizde kötü alışkanlıklar geliştiriyor.
 
Yapay zekayı ilk defa kullanıp direk kopyala yapıştır yaptım. Acaba yardımcı olur mu yoksa saçma bir şey mi oldu :D

import basinc
import time

def slow_print(text, delay=0.1):
for char in text:
print(char, end='', flush=True)
time.sleep(delay)

def giris_kismi():
global basinc_birimi
global atm_cevirici
global cmHG_cevirici
global mmHG_cevirici
slow_print("BASINÇ ÇEVİRİCİ\n")
print("Lütfen çevirmek istediğin basınç birimini seç.(1-atm, 2-cmHG, 3-mmHG)")
basinc_birimi = input()
if basinc_birimi == "atm":
atm_cevirici()
elif basinc_birimi == "cmHG":
cmHG_cevirici()
elif basinc_birimi == "mmHG":
mmHG_cevirici()
else:
print("Böyle Bir Basınç Birimi Bulunmuyor!")
giris_kismi()

def giris_ekrani():
print("HOŞGELDİNİZ!")
print("Çevirici?")
user = input()
if user == "Evet":
basinc.giris_kismi()
else:
print("Yanlış")
giris_ekrani()

giris_ekrani()
 
Yapay zekayı ilk defa kullanıp direk kopyala yapıştır yaptım. Acaba yardımcı olur mu yoksa saçma bir şey mi oldu :D

Olmaz. Bunda da aynı hata var. Sadece iki fonksiyonu aynı yere alması mantıklı çünkü açıkçası bunların iki farklı dosya halinde olması için hiçbir sebep görmüyorum.
 
İkincisinde neden yazdığınız fonksiyonu çağırıyorsunuz? O yüzden direkt oraya geçiyor. Çünkü siz onu import ettiğiniz anda main vs. hiç kullanmadığınız ve o fonksiyonu çağırdığınız için direkt önce o fonksiyon çağrısına uyuyor sistem.

Global keywordu nadiren kullanılır. Bu seviyede kullanmayın. Fonksiyonlarla main kısmı aynı yerde olmaz. Main kısmı için if __name__ == "__main__" kullanabilirsiniz. Classları öğrenmediyseniz bunun ne olduğunu henüz anlamazsınız ama önemli. Bu şekilde ararsanız düzgün bir anlatımını bulabilirsiniz. Kodlarınızda çok fazla "bad practice" yani yanlış veya standart dışı kullanım var. Nereden Python öğreniyorsunuz bilmiyorum ama sizde kötü alışkanlıklar geliştiriyor.
Öyle belli bir kanalı takip etmiyorum. Daha doğrusu takip edemiyorum. Sadece öğrendiklerimle bir şey yapmaya çalıştım. class vs daha görmedim evet. İlerde öğrenirim onuda. Teşekkürler.

Olmaz. Bunda da aynı hata var. Sadece iki fonksiyonu aynı yere alması mantıklı çünkü açıkçası bunların iki farklı dosya halinde olması için hiçbir sebep görmüyorum.
Aslında evet ikisi aynı dosyadaydı ama aklıma acaba farklı dosyada olsalardı birbirlerini bağlayabilir miyim diye bi r düşündüm. Sonra yapay zekaya sordum yapılabilir vs dedi ama bir türlü bana yardım edemedi o konuda :)
 

Yeni konular

Geri
Yukarı