Python’da İşçi Problemi Çözüm Programı
- September 11, 2011
Matematik dersinin vazgeçilmezlerinden olan işçi problemlerini çözen ufak bir program yapmak istedim. Çok fazla deneme şansım olmadı hata/sorun vs. olursa bildirirsiniz. Genel çalışma yapısını kısaca açıklayayım.
Program önce kullanıcıdan soruda verilen bilgileri alıyor. Mesela a günde b tane işçi c kadar iş yapar şeklinde sayıyla bunları giriyorsunuz. Ardından istenen kısmı “x” olarak girmenizi istiyor ve aldığı sayıları hangisinin x olacağı belli olmadığı için integer a çeviriyor. x e göre ifli bir yapıyla hangi bilinmeyenin istenmediğini buluyor ve ona göre ilgili fonksiyona bilgi gönderiyor. Daha fazla uzatmadan kodlara geçelim nasıl olsa ordan çok daha rahat anlaşılabilir.
#-*-coding:cp1254-*-
from __future__ import division
# Verilen işin bilgilerini alalım.
isci=input("İşçi Sayısını Giriniz: ")
miktar=input("Yapılan işin miktarını giriniz: ")
sure=input("Yapılan işin süresini giriniz: ")
# İstenen işin bilgilerini alalım. Bilinmeyene x densin.
print "Sorulan Değer yerine "x" giriniz."
isci2=raw_input("İşçi sayısını giriniz: ")
miktar2=raw_input("Yapılan işin miktarını giriniz: ")
sure2=raw_input("Yapılan işin süresini giriniz: ")
def hesapla(y,z,mesaj):
global isci, miktar, sure
sonuc=((isci)*(miktar)*(sure))/((y)*(z))
print mesaj, sonuc
def hesapla2(a,b,c):
global isci,miktar,sure
sonuc=(miktar*a*b)/(isci*sure)
print c, sonuc
try:
if isci2=="x":
miktar2=int(miktar2)
sure2=int(sure2)
hesapla(sure2,miktar2,"İşçi Sayısı: ")
elif miktar2=="x":
sure2=int(sure2)
isci2=int(isci2)
hesapla2(sure2,isci2,"İş Miktarı: ")
elif sure2=="x":
miktar2=int(miktar2)
isci2=int(isci2)
hesapla(miktar2,isci2,"İşin Süresi: ")
else:
print "Yanlış bir giriş yaptınız, lütfen tekrar deneyin."
except:
print "Bir hata oluştu, lütfen tekrar deneyin."