大家好,我正在撰寫一個基本的庫存管理系統,并且在我的一個函式中,我正在嘗試在文本檔案中列印特定值,該函式試圖列印用戶名、數字和用戶名稱,我一直在回傳
UnboundLocalError:分配前參考了區域變數“user_numbers”
這是我的代碼:
def display_users():
all_users = open('all_users.txt', 'r')
user_description = all_users.readline()
print('All Current User')
print('<----------------->')
while user_description != '':
user_names = all_users.readline()
user_numbers = user_numbers.rstrip('\n')
user_desig = user_desig.rstrip('\n')
print('User Names: ', user_names)
print('User PH Numbers: ', user_numbers)
print('User Designations: ', user_desig)
print('<---------->')
user_description = all_users.readline()
all_users.close()
編輯:我已經把它變成了一個全域變數,現在它只是說“NameError: name 'user_numbers' is not defined”
https://pastebin.pl/view/ae461557 這是完整的代碼
uj5u.com熱心網友回復:
問題在于user_numbers = user_numbers.rstrip('\n'),特別是第二部分。該錯誤為您提供了清晰的描述:user_numbers尚未定義,因此您無法呼叫rstrip它。你是想打字user_names.rstrip('\n')嗎?
uj5u.com熱心網友回復:
問題出在這一行
user_numbers = user_numbers.rstrip('\n')
在回圈的第一次迭代中,user_numbers沒有任何價值,因此您無法呼叫user_numbers.rstrip('\n')它。我沒有完全遵循您構建文本檔案的方式,但您可能想先撥user_numbers = all_users.readline()打電話。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/318316.html
