Python’da İşçi Problemi Çözüm Programı

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."
 
comments powered by Disqus