Neler Yeni

Çözüldü✓ python class

Katılım
19 Ocak 2022
Mesajlar
113
Dahası  
Reaksiyon skoru
47
Yaş
20
İsim
İsmail Kaygısız
İlgilendiği Kategoriler
Oyun Tasarım-Kodlama, Programlama Dilleri, Web Tasarım ve Kodlama
Python'da kullanıcıdan alınan ürün özelliklerini yazdırma şeklinde bir class yapısı oluşturdum. Ama kod istediğim gibi çalışmıyor. Çıktısı resimde sarı kutucuk içinde.

Alıntıyı görüntüle




Benim çalışmasını istediğim şekil ise şu:


Alıntıyı görüntüle

BU ŞEKİLDE ÇALIŞMASINI NASIL SAĞLAYABİLİRİM?
Dediğin şekilde yapacaktım fakat biraz mantıksız geldi kendim biraz daha farklı bir şekilde yaptım.


Python:
product_list = []

class Product:
    def __init__(self, name, price, color):
        self.name = name
        self.price = price
        self.color = color

    def __str__(self) -> str:
        return f"Ürün adı : {self.name}\nBirim fiyatı : {self.price}\nRenk : {self.color}\n"

class Request:
    def __init__(self):
        pass

    def add(self):
        global product_list

        name = input("Ürün adı giriniz : ")
        price = input("Ürün Fiyatı giriniz : ")
        color = input("Ürün Rengi giriniz : ")

        product_list.append(Product(name, price, color))

request = Request()
message = """
Programdan çıkmak için -> 0
Ürün eklemek için      -> 1
"""
inp = input(message)

while inp != "0":
    if(inp == "1"):
        request.add()
    else:
        print("Hatalı değer girildi tekrar deneyiniz.")

    inp = input(message)

print("\n\n\nÜrünler Listesi : ")
print("*" * 10, "\n")
for product in product_list:
    print(product)

İşimi görmez dersen dediğin şekilde de yapabilirim.
 

cansu.u

80+
Katılım
16 Aralık 2022
Mesajlar
9
Dahası  
Reaksiyon skoru
0
İsim
Cansu
  • Konu Sahibi Konu Sahibi
  • #3
Dediğin şekilde yapacaktım fakat biraz mantıksız geldi kendim biraz daha farklı bir şekilde yaptım.


Python:
product_list = []

class Product:
    def __init__(self, name, price, color):
        self.name = name
        self.price = price
        self.color = color

    def __str__(self) -> str:
        return f"Ürün adı : {self.name}\nBirim fiyatı : {self.price}\nRenk : {self.color}\n"

class Request:
    def __init__(self):
        pass

    def add(self):
        global product_list

        name = input("Ürün adı giriniz : ")
        price = input("Ürün Fiyatı giriniz : ")
        color = input("Ürün Rengi giriniz : ")

        product_list.append(Product(name, price, color))

request = Request()
message = """
Programdan çıkmak için -> 0
Ürün eklemek için      -> 1
"""
inp = input(message)

while inp != "0":
    if(inp == "1"):
        request.add()
    else:
        print("Hatalı değer girildi tekrar deneyiniz.")

    inp = input(message)

print("\n\n\nÜrünler Listesi : ")
print("*" * 10, "\n")
for product in product_list:
    print(product)

İşimi görmez dersen dediğin şekilde de yapabilirim.Alıntıyı görüntüle
Mesaj otomatik birleştirildi:

Teşekkür ederim kodlar için çok yardımı oluyor. Benim aslında programı şu şekilde yapmam gerekiyor: Kullanıcı istediği özellikleri kendi belirleyip ekleme yapacak. Şu şekilde:


py4.png



Rica etsem bu şekilde yazabilir misiniz?
 
Son düzenleme:
Katılım
19 Ocak 2022
Mesajlar
113
Dahası  
Reaksiyon skoru
47
Yaş
20
İsim
İsmail Kaygısız
İlgilendiği Kategoriler
Oyun Tasarım-Kodlama, Programlama Dilleri, Web Tasarım ve Kodlama
Mesaj otomatik birleştirildi:

Teşekkür ederim kodlar için çok yardımı oluyor. Benim aslında programı şu şekilde yapmam gerekiyor: Kullanıcı istediği özellikleri kendi belirleyip ekleme yapacak. Şu şekilde:


Alıntıyı görüntüle


Rica etsem bu şekilde yazabilir misiniz?
Python:
product_list = []

class Product:
    def __init__(self, name, price, color):
        self.name = name
        self.price = price
        self.color = color

    def __str__(self) -> str:
        return f"Ürün adı : {self.name}\nBirim fiyatı : {self.price}\nRenk : {self.color}\n"


class Request:
    def __init__(self):
        pass

    def add(self):

        name = input("Ürün adı giriniz : ")
        if name == "":
            name = "Belirtilmedi"
        price = "Belirtilmedi"
        color = "Belirtilmedi"
        
        inp = input("Hangi özelliği eklemek istersiniz :\nfiyat | renk\nEklemek istemiyorsanız 0\n>>> ")

        while inp != "0":
            if inp == "fiyat":
                price = input("Ürün Fiyatı giriniz : ")

            elif inp == "renk":
                color = input("Ürün Rengi giriniz : ")

            if price != "Belirtilmedi" and color != "Belirtilmedi":
                break
            
            if inp != "fiyat" and inp != "renk":
                print("Hatalı Değer Girildi")

            inp = input("Hangi özelliği eklemek istersiniz :\nfiyat | renk\nEklemek istemiyorsanız 0\n>>> ")

        product_list.append(Product(name, price, color))


request = Request()
message = """
Programdan çıkmak için -> 0
Ürün eklemek için      -> 1
"""
inp = input(message)

while inp != "0":
    if (inp == "1"):
        request.add()
    else:
        print("Hatalı değer girildi tekrar deneyiniz.")

    inp = input(message)

print("\n\n\nÜrünler Listesi : ")
print("*" * 10, "\n")
for product in product_list:
    print(product)

Kodu 1 kez test ettim düzgün çalışıyordu umarım işini görür
 

cansu.u

80+
Katılım
16 Aralık 2022
Mesajlar
9
Dahası  
Reaksiyon skoru
0
İsim
Cansu
  • Konu Sahibi Konu Sahibi
  • #5
Python:
product_list = []

class Product:
    def __init__(self, name, price, color):
        self.name = name
        self.price = price
        self.color = color

    def __str__(self) -> str:
        return f"Ürün adı : {self.name}\nBirim fiyatı : {self.price}\nRenk : {self.color}\n"


class Request:
    def __init__(self):
        pass

    def add(self):

        name = input("Ürün adı giriniz : ")
        if name == "":
            name = "Belirtilmedi"
        price = "Belirtilmedi"
        color = "Belirtilmedi"
       
        inp = input("Hangi özelliği eklemek istersiniz :\nfiyat | renk\nEklemek istemiyorsanız 0\n>>> ")

        while inp != "0":
            if inp == "fiyat":
                price = input("Ürün Fiyatı giriniz : ")

            elif inp == "renk":
                color = input("Ürün Rengi giriniz : ")

            if price != "Belirtilmedi" and color != "Belirtilmedi":
                break
           
            if inp != "fiyat" and inp != "renk":
                print("Hatalı Değer Girildi")

            inp = input("Hangi özelliği eklemek istersiniz :\nfiyat | renk\nEklemek istemiyorsanız 0\n>>> ")

        product_list.append(Product(name, price, color))


request = Request()
message = """
Programdan çıkmak için -> 0
Ürün eklemek için      -> 1
"""
inp = input(message)

while inp != "0":
    if (inp == "1"):
        request.add()
    else:
        print("Hatalı değer girildi tekrar deneyiniz.")

    inp = input(message)

print("\n\n\nÜrünler Listesi : ")
print("*" * 10, "\n")
for product in product_list:
    print(product)

Kodu 1 kez test ettim düzgün çalışıyordu umarım işini görür


Bu programı kullanıcıya sınırsız özellik girme izni verecek şekilde yapabilir miyiz? hani 2 seçenek sunmuşsunuz ya. Onu da biz belirliyoruz. Bunu kullanıcı istediği şekilde belirleyecek şekilde olur mu? Kullanıcı her şeyi kendi belirleyecek ve program en sonunda kullanıcının belirlediği şeyleri yazacak.
 

DeveloperRedneck

80+ Silver
Katılım
13 Temmuz 2021
Mesajlar
2,696
Dahası  
Reaksiyon skoru
1,380
İsim
Kürşat
Kullanıcı her şeyi kendi belirleyecek ve program en sonunda kullanıcının belirlediği şeyleri yazacak.
pythonda yeniyim ama o tarz bir şeyi nasıl bir değişkende tutabilirsiniz ki ? girilen özelliğe göre ihtiyaç duyulan variable sayısı değişmez mi
 
Katılım
19 Ocak 2022
Mesajlar
113
Dahası  
Reaksiyon skoru
47
Yaş
20
İsim
İsmail Kaygısız
İlgilendiği Kategoriler
Oyun Tasarım-Kodlama, Programlama Dilleri, Web Tasarım ve Kodlama
Bu programı kullanıcıya sınırsız özellik girme izni verecek şekilde yapabilir miyiz? hani 2 seçenek sunmuşsunuz ya. Onu da biz belirliyoruz. Bunu kullanıcı istediği şekilde belirleyecek şekilde olur mu? Kullanıcı her şeyi kendi belirleyecek ve program en sonunda kullanıcının belirlediği şeyleri yazacak.
Dictionary sistemi ile Key Value mantığıyla yapılabilir. Ama ona uğraşmam.
 

cansu.u

80+
Katılım
16 Aralık 2022
Mesajlar
9
Dahası  
Reaksiyon skoru
0
İsim
Cansu
  • Konu Sahibi Konu Sahibi
  • #8
Dictionary sistemi ile Key Value mantığıyla yapılabilir. Ama ona uğraşmam.
zor mu acaba sizce yapılması uzun sürmez ise araştırıp deneyeceğim
Mesaj otomatik birleştirildi:

pythonda yeniyim ama o tarz bir şeyi nasıl bir değişkende tutabilirsiniz ki ? girilen özelliğe göre ihtiyaç duyulan variable sayısı değişmez mi
ben de yeniyim o yüzden bilmiyorum ama olabilir gibi geldi döngülerle falan
 

DeveloperRedneck

80+ Silver
Katılım
13 Temmuz 2021
Mesajlar
2,696
Dahası  
Reaksiyon skoru
1,380
İsim
Kürşat
zor mu acaba sizce yapılması uzun sürmez ise araştırıp deneyeceğim
Mesaj otomatik birleştirildi:


ben de yeniyim o yüzden bilmiyorum ama olabilir gibi geldi döngülerle falan
Döngüyle yapılabilir olsa bile bir sürü döngü iç içe olacak.


1'se run et 0'sa çık
1'se özellik ekle değilse çık (burada özellik mi eklemeyecek programı mı shut edecek)

başka bir döngüyle başka bir ürüne geçecek ama her ürün için farklı değişken kullanamk isterse kullanıcı ?

Bence imkansız gözüküyor.
 
Katılım
19 Ocak 2022
Mesajlar
113
Dahası  
Reaksiyon skoru
47
Yaş
20
İsim
İsmail Kaygısız
İlgilendiği Kategoriler
Oyun Tasarım-Kodlama, Programlama Dilleri, Web Tasarım ve Kodlama
zor mu acaba sizce yapılması uzun sürmez ise araştırıp deneyeceğim
Mesaj otomatik birleştirildi:


ben de yeniyim o yüzden bilmiyorum ama olabilir gibi geldi döngülerle falan
Zor değil. Dictionary mantığını bilen birisi rahatlıkla yapabilir.
 
Top Bottom