.py dosyası print output basmıyor

NecoTheGrim

Kilopat
Katılım
29 Kasım 2016
Mesajlar
118
Yer
İstanbul/Güngören
Daha fazla  
Cinsiyet
Erkek
Meslek
Bilgisayar mühendisliği öğrencisi
Merhabalar. Nedendir bilmiyorum ama Python'da bir kodu .py uzantısı ile kaydettiğimde ekrana output basmıyor. Input girdiğimde ve enter tuşuna bastığımda bir sıkıntı yok ama program bittiğinde direkt pencere kapanıyor. Pycharm'da bu sıkıntıyı yaşamıyorum. Yardımınız için şimdiden teşekkürler.
 
Programın kodlarını görmemiz lazım. Phycharm bir ide olduğundan dolayı kapanmaz kodu çalıştırınca. Kodu output çıktısından sonra devam edecek şekilde kodlamadıysanız bu hatayı alıyor olabilirsiniz. Kodu görmeden yorum yapmamız zor.
 
Programın kodlarını görmemiz lazım. Phycharm bir ide olduğundan dolayı kapanmaz kodu çalıştırınca. Kodu output çıktısından sonra devam edecek şekilde kodlamadıysanız bu hatayı alıyor olabilirsiniz. Kodu görmeden yorum yapmamız zor.
Python:
class family:

    def __init__(self,name):
        self.name=input(f"Enter the {name}s name:") # Entering information for instance variables.
        self.surname=input(f"Enter the {name}s surname:")
        self.age=int(input(f"Enter the {name}s age:"))

        y=input("Does he have wife? (Y/N)") #conditional statements for wife and kids existence.
        if y=="Y" or y=="y":
            self.wife=input(f"Enter the {name}s wifes name:")
            z=input("Does he have any child? (Y/N)")
            if z=="Y" or z=="y":
                self.kid=True
            elif z=="N" or z=="n":
                self.kid=None
        elif y=="N" or y=="n":
            self.wife=None
            self.kid=None

# I created three classes for separating persons. This classes inherit family class's codes when you send family class as a parameter.
class grandfather(family): #Grandfathers child is father.
    pass

class father(family): #Fathers child is kid
    pass

class kid(family):
    pass

members=[] # An empty list named members is created to store persons.

while True: #When a person has no wife or kid, The other persons code won't be executed in block of while

    grand_father=grandfather("grandfather") # sending "grandfather" etc. strings as parameter to family class.
    members.append(grand_father)
    if grand_father.wife == None or grand_father.kid == None:
        break

    elif grand_father.wife != None and grand_father.kid == True:
        father_=father("father")
        members.append(father_)

        if father_.wife == None or father_.kid == None:
            break

        elif father_.wife != None and father_.kid == True:
                kid_=kid("kid")
                members.append(kid_)
                break



spacebar=0

for x in members: # Output section

    print(" " * spacebar +f"Name: {x.name} -- Surname: {x.surname} -- Age: {x.age} -- Wife: {x.wife}")
    print("")
    spacebar+=5
 
Son düzenleme:
import time

Kodun en altına bunu yazın : time.sleep(15)
 
Son düzenleme:
class family:

def __init__(self,name):
self.name=input(f"Enter the {name}s name:") # Entering information for instance variables.
self.surname=input(f"Enter the {name}s surname:")
self.age=int(input(f"Enter the {name}s age:"))

y=input("Does he have wife? (Y/N)") #conditional statements for wife and kids existence.
if y=="Y" or y=="y":
self.wife=input(f"Enter the {name}s wifes name:")
z=input("Does he have any child? (Y/N)")
if z=="Y" or z=="y":
self.kid=True
elif z=="N" or z=="n":
self.kid=None
elif y=="N" or y=="n":
self.wife=None
self.kid=None

# I created three classes for separating persons. This classes inherit family class's codes when you send family class as a parameter.
class grandfather(family): #Grandfathers child is father.
pass

class father(family): #Fathers child is kid
pass

class kid(family):
pass

members=[] # An empty list named members is created to store persons.

while True: #When a person has no wife or kid, The other persons code won't be executed in block of while

grand_father=grandfather("grandfather") # sending "grandfather" etc. strings as parameter to family class.
members.append(grand_father)
if grand_father.wife == None or grand_father.kid == None:
break

elif grand_father.wife != None and grand_father.kid == True:
father_=father("father")
members.append(father_)

if father_.wife == None or father_.kid == None:
break

elif father_.wife != None and father_.kid == True:
kid_=kid("kid")
members.append(kid_)
break



spacebar=0

for x in members: # Output section

print(" " * spacebar +f"Name: {x.name} -- Surname: {x.surname} -- Age: {x.age} -- Wife: {x.wife}")
print("")
spacebar+=5

yazdığım kod basit bir aile ağacı. Bu arada sanırım buraya atarken boşlukları bozdu site.
kod olarak ekleyebilir misiniz? bu şekilde kopyalayınca düzenlememiz gerekiyor

Python:
#bu şekilde
 
Merhabalar. Nedendir bilmiyorum ama Python'da bir kodu .py uzantısı ile kaydettiğimde ekrana output basmıyor. Input girdiğimde ve enter tuşuna bastığımda bir sıkıntı yok ama program bittiğinde direkt pencere kapanıyor. Pycharm'da bu sıkıntıyı yaşamıyorum. Yardımınız için şimdiden teşekkürler.
Kodu görmeye gerek yok. Tüm işlemlerini temsil eden kodlarınız bittiğinde input() fonksiyonunu kullanarak programı bir klavye girdisi almak için bekletmeniz gerekmekte. Herhangi bir klavye girdisinde program sonlanacaktır.
 
Son düzenleme:
Kodu görmeye gerek yok. Tüm işlemlerini temsil eden kodlarınız bittiğinde input() fonksiyonunu kullanarak programı bir klavye girdisi almak için bekletmeniz gerekmekte. Herhangi bir klavye girdisinde program sonlanacaktır.
Ama .py dosyasında bilgi girebiliyorum. En son print sekmesine gelince kapanıyordu program. Aile ağacını basmıyordu.

Ben Mac üzerinden denediğimde dosya kapanmadı, arkadaşın söylediği yol işinize yaradıysa ne mutlu :)
Anladım hocam. Cidden sağ olun.
 
Ama .py dosyasında bilgi girebiliyorum. En son print sekmesine gelince kapanıyordu program. Aile ağacını basmıyordu.


Anladım hocam. Cidden sağ olun.
Dediğim gibi dosyayı Mac üzerinde Python launcher ile açtığımda soy ağacı bilgisini gösteriyor ve program kapanmıyor, sadece yeniden sorgu yaptırmak istiyorsanız yazılımı başa döndürmeniz gerekiyor o kadar onun dışında sorunsuz çalıştı.
 

Technopat Haberler

Geri
Yukarı