Dediğin şekilde yapacaktım fakat biraz mantıksız geldi kendim biraz daha farklı bir şekilde yaptım.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?
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)
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:
Alıntıyı görüntüle
Rica etsem bu şekilde yazabilir misiniz?
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)
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
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 miKullanı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.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.
zor mu acaba sizce yapılması uzun sürmez ise araştırıp deneyeceğimDictionary sistemi ile Key Value mantığıyla yapılabilir. Ama ona uğraşmam.
ben de yeniyim o yüzden bilmiyorum ama olabilir gibi geldi döngülerle falanpythonda 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
Döngüyle yapılabilir olsa bile bir sürü döngü iç içe olacak.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.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