2017-09-23 4 views
0
# -*- coding:utf-8 -*- 
# ötszaz.py 
# , 2017 


érték = {"1":500, 
     "2":450, 
     "3":400} 

# --- 1.feladat --- 

with open("penztar.txt","r") as ff: 
      adatok = ff.read() 

# --- 2. feladat --- 
print("2.feladat\nA fizetések száma: {}".format(adatok.count("F"))) 

# --- 3.feladat --- 
kosar = [] 
sok_kosar = [] 
for dolog in adatok.splitlines():  
    if dolog != "F": 
     kosar.append(dolog) 
    elif dolog == "F": 
     sok_kosar.append(kosar) 
     del kosar 

##kosarak = elso(adatok.splitlines()) 
for i in sok_kosar: print(i) 

が、私はこのエラーを取得することを命名した ファイルを "C:\ユーザーは\ジョルト\デスクトップ\ pythonのératségi\ötszáz\ otszaz.py"、23行目、 kosar.append(dolog)に NameError:名「kosarは」あなたがdolog == "F"繰り返しの後に反復して起こることを期待している何python私はネームエラーを受け取りますか? トレースバック(最後の最新の呼び出し)::私はすでに変数が

答えて

0
for dolog in adatok.splitlines():  
    if dolog != "F": 
     kosar.append(dolog) 
    elif dolog == "F": 
     sok_kosar.append(kosar) 
     del kosar 

が定義されていませんか? dolog == "F"の場合kosarを削除します。次の反復では、kosarは未定義です。

>>> li = [] 
>>> nums = [1, 2, 3] 
>>> for num in nums: 
...  print(num) 
...  if num == 2: 
...   del li 
...  else: 
...   li.append(num) 
... 
1 
2 
3 
Traceback (most recent call last): 
    File "<stdin>", line 6, in <module> 
NameError: name 'li' is not defined 

リストを空にすることを意図した場合、代わりのdel kosar使用kosar = []

あなたのコードは、本質的に同等です。

関連する問題