Trong hướng dẫn Python này, chúng ta sẽ thảo luận về cách xử lý lỗi tên. tên không được xác định trong Python. Chúng tôi sẽ kiểm tra cách khắc phục lỗi tên không được xác định python 3
TênLỗi. tên không được xác định
Trong python, lỗi tên không được xác định xuất hiện khi chúng ta cố gắng sử dụng tên biến hoặc hàm không hợp lệ
Ví dụ
value = ['Mango', 'Apple', 'Orange']
print[values]
Sau khi viết đoạn mã trên, Ones bạn sẽ in “giá trị ” thì lỗi sẽ xuất hiện dưới dạng “ TênLỗi. tên 'giá trị' không được xác định ". Ở đây, các giá trị tên biến bị sai chính tả, vì vậy chúng tôi gặp lỗi này
Bạn có thể tham khảo tên ảnh chụp màn hình bên dưới tên lỗi không được xác định python
Để giải quyết lỗi tên này. tên chưa được xác định python 3 chúng ta cần đảm bảo rằng tên biến được viết đúng chính tả
Ví dụ
value = ['Mango', 'Apple', 'Orange']
print[value]
Sau khi viết đoạn mã trên, Ones bạn sẽ in “giá trị ” sau đó đầu ra sẽ xuất hiện dưới dạng “[ ‘Mango’, ‘Apple’, ‘Orange’]”. Ở đây, tên biến chính xác là 'giá trị'. Vì vậy, theo cách này, chúng tôi giải quyết lỗi đánh máy trong python
Bạn có thể tham khảo ảnh chụp màn hình bên dưới để xóa lỗi tên trong python
Bạn có thể thích các hướng dẫn sau
- Python kiểm tra xem biến có phải là số nguyên không
- Giá trịError. lỗi miền toán học
- Python pip không được công nhận là lệnh nội bộ hoặc bên ngoài
- Kiểm tra xem một số có phải là số nguyên tố không
- Python chuyển đổi tuple thành danh sách
Đây là cách giải quyết lỗi tên Python. tên không được xác định hoặc NameError. tên 'giá trị' không được xác định trong python
Bijay Kumar
Python là một trong những ngôn ngữ phổ biến nhất ở Hoa Kỳ. Tôi đã làm việc với Python trong một thời gian dài và tôi có kinh nghiệm làm việc với nhiều thư viện khác nhau trên Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, v.v… Tôi có kinh nghiệm làm việc với nhiều khách hàng khác nhau . Kiểm tra hồ sơ của tôi
Vì vậy, tôi đang làm một trò chơi tic-tac-toe và tôi nghĩ tôi sắp hoàn thành. tôi đang cố gắng làm cho trò chơi có thể chơi nhiều hơn một lần trước khi kết thúc. Vì vậy, tôi đã đặt nó vào một hàm def[]… nhưng khi chạy nó thì kết quả là NameError: name 'turn' is not defined
. Bất kỳ ý tưởng tại sao và làm thế nào để khắc phục điều này?
def game[]:
blanksheet = "|1|2|3|\n|4|5|6|\n|7|8|9|"
sheet = blanksheet
print[sheet]
gone = []
turn = 0
def play[XO,player,listXO]:
global turn
global sheet
global listx
global listo
while True:
num = input[player+" enter an available number where you want to put an "+XO+".\n > "]
try:
num = int[num]
except ValueError:
print["Not a valid number, try again."]
continue
if num < 1 or num > 9:
print["Number not in correct range, try again."]
continue
if num in gone:
print["Number already used, try again."]
continue
gone.append[num]
listXO.append[num]
turn += 1 #the "problem is here"
sheet = sheet.replace[str[num],XO]
print[sheet]
break
win = "h"
listx = []
listo = []
def checkstatus[listXO, playerwin]:
if len[listXO] >= 3:
if 1 in listXO and 2 in listXO and 3 in listXO:
winspeak[playerwin] #vertical
elif 4 in listXO and 5 in listXO and 6 in listXO:
winspeak[playerwin] #vertical
elif 7 in listXO and 8 in listXO and 9 in listXO:
winspeak[playerwin] #vertical
elif 1 in listXO and 4 in listXO and 7 in listXO:
winspeak[playerwin] #horizontal
elif 2 in listXO and 5 in listXO and 8 in listXO:
winspeak[playerwin] #horizontal
elif 3 in listXO and 6 in listXO and 9 in listXO:
winspeak[playerwin] #horizontal
elif 1 in listXO and 5 in listXO and 9 in listXO:
winspeak[playerwin] #diagonal
elif 3 in listXO and 5 in listXO and 7 in listXO:
winspeak[playerwin] #diagonal
if [len[listx] + len[listo]] == 9:
print["\n Neither player wins, thats a tie!"]
exit[]
def winspeak[player]:
print["\n"+player+" wins!"]
exit[]
def checkplay[]:
while win != "Xwin" or win != "Owin":
if turn % 2 == 0:
play["X","Player 1",listx]
checkstatus[listx,"Player 1"]
else:
play["O","Player 2",listo]
checkstatus[listo,"Player 2"]
checkplay[]
game[]
Chào Drew,
Hãy nhớ rằng Python sử dụng thụt lề để cho biết nội dung bên trong hàm
và nội dung bên ngoài hàm. Bạn nên xác định chức năng của mình ở đầu
tệp của bạn. Mỗi chức năng nên bắt đầu ở cấp 1 [không được thụt lề] như thế này.
def game[]:
# block is indented
# don't indent the function signature
def play[XO, player, listXO]:
# block is indented
# Finally at the end:
game[] # not indented
Không thụt lề chức năng bên trong các chức năng khác
Chừa một khoảng cách đẹp [hai dòng] giữa các chức năng để dễ dàng nhận biết
khi một chức năng kết thúc và chức năng tiếp theo bắt đầu. Điều đó không có gì khác biệt đối với
trình thông dịch Python, nhưng nó giúp người đọc [bạn] phát hiện ra nơi một
hàm kết thúc và hàm tiếp theo bắt đầu.
Các hằng số không bao giờ thay đổi phải được xác định ở đầu chương trình
của bạn, trước các hàm. Đó là quy ước để viết chúng
tất cả chữ hoa để người đọc biết rằng chúng không bao giờ được thay đổi.
BLANKSHEET = "|1|2|3|\n|4|5|6|\n|7|8|9|\n"
Các biến toàn cục của bạn phải được xác định trong hàm game[]
def game[]:
global turn, sheet, listx, listo
turn = 0
sheet = BLANKSHEET
print[sheet]
...
Có thể có những cải tiến và nhận xét khác cần thiết sau đó
Hãy vui vẻ với lập trình của bạn