2016-03-28 12 views
1

Hey, okul için küçük bir proje üzerinde çalışıyorum ve herhangi bir sayı için programın içinde program çalıştırırken bir işlev dışında bir çalışma taksimi tutmam gerekiyor times.I've farklı şeyler denedim ama o appreciated.This olurdu benim taksitli değerini herhangi bir yardım sıfırlamayı durdurmak için şimdiye kadar benim kod edilir uyuyamıyrom:İşlev dışında çalışan bir toplam işlevini işlevde tutma/saklama

import sys 
r = open("teacherfine.txt","r") 

a = 0 
b = 0 


def f(enter): 
    b = 0 
    for line in r: 
     if line.startswith(enter): 
      c = line.split(",") 
      print(c) 
      print(c[1],"owes",c[2]) 
      global a 
      a = a =+ float(c[2]) 
      d = input("Do you want to add another code?(yes/no)") 
      if d == "yes": 
       z = input("enter code") 
       f(z) 
      elif d != "yes": 
       print("the total owed was",a) 
       sys.exit() 




z= input("enter code") 
f(z) 
+0

Kodun doğru olduğundan emin misiniz? b kullanılmaz ve 'a = a = + float (c [2])' şüpheli görünüyor. Sorununuzu daha fazla açıklamaya çalışın ve bir oyuncak örneği vermek daha iyi olur. 'Teacherfine.txt' dosyanızın yerine dize listesi gibi. – dooms

cevap

0

tamam anlamak değil sen ne çalışıyorsunuz sormak. Ama kod bakarak, belki de bu sorunun cevabı değilse, b = 0 iki kez, bir dış ve bir def f(enter): içine koydu sorun, bu kodu aslında ne yaparsanız, daha fazla ayrıntı verin lütfen Tam olarak takip etmiyorum ama sana yardım edebilirim.

+0

Sorularıma biraz baktığımda, okul projemden birinin 3 haneli bir kod girmesi ve bu kodun "teacherfine.txt" dosyasındaki belirli bir öğretmene başvurması gerekiyor, böylece dosya bu şekilde görünüyor, " 001, Bay Jones, 2.20, BİT "detaylarını yazdırmak ve sonra başka bir kod girmek isteyen kullanıcılara sormak zorundadırlar. Bu durumda programın borcu ödenecek şekilde toplam tutarı tahsil edilmelidir. Bazı yollardan ama hala çalışan borçlu genel tutarı nasıl elde edeceğini anlayamıyorum. –

İlgili konular