Tên toàn cầu không được xác định Python

MartinBerlin
nuốt không tải

Bài đăng. 3

Chủ đề. 2

Đã tham gia. Tháng 8 năm 2018

Danh tiếng. 0

22-Aug-2018, 02. 29 giờ tối

Tôi đã biên soạn các bước đầu tiên sau đây của một bài kiểm tra

easy_text = '''The Simpsons is an animated sitcom created by ___1___ .
The father of the family is called ___2___ and the mother's name is ___3___ .
Both have a naughty son who is called ___4___ .'''
list_of_easy_text = easy_text.split[]
#list with correct answers in easy_text:
list_answers_easy_text = ['Matt Groening', 'Homer', 'Marge', 'Bart']

#User is asked to fill in blanks in easy_text:
def play_easy_text[]:
    user_answer_easy_test_1 = raw_input["Your answer for ___1___:"]
    print user_answer_easy_test_1
    check_correct_easy_text[]
    play_easy_text[]

def check_correct_easy_text[]:
    if user_answer_easy_test_1 == list_answers_easy_text[0]:
        print "Your answer is correct!"
    else:
        print "Your answer is wrong. Try it again!"
        check_correct_easy_text[]

def determination_level[]:
    level = raw_input["Choose: easy, medium, hard."]
    if level == "easy":
        print "You have chosen the level 'easy'."
        print easy_text
        play_easy_text[]
    elif level == "medium":
        print "You have chosen the level 'medium'."
    elif level == "hard":
        print "You have chosen the level 'hard'."
    else:
        print "Wrong input!"
        determination_level[]
determination_level[]
Khi tôi chạy mã này, tôi gặp lỗi sau
TênLỗi. tên chung 'user_answer_easy_test_1' không được xác định

Bạn có thể giúp tôi giải quyết vấn đề này?

Hồi đáp

Tìm thấy

Hồi đáp

ichabod801
thỏ thỏ

Bài viết. 4.229

Chủ đề. 97

Đã tham gia. Tháng 9 năm 2016

Danh tiếng. 273

22-Aug-2018, 02. 41 giờ tối

Khi bạn định nghĩa một biến trong hàm, nó chỉ có thể truy cập được trong hàm đó. Vì vậy, user_answer_easy_test_1 mà bạn đã xác định trong play_easy_text không có sẵn trong check_true_easy_text

Để cung cấp thông tin cho các chức năng khác, bạn chuyển thông tin đó ra khỏi một chức năng bằng câu lệnh trả về, có thể gán thông tin đó cho một biến. Sau đó, bạn chuyển nó vào một chức năng khác bằng cách sử dụng một tham số. Xem liên kết hướng dẫn chức năng trong chữ ký của tôi để được giải thích chi tiết

Craig "Ichabod" O'Brien - xenomind. com
Tôi chúc bạn hạnh phúc
Hướng dẫn được đề xuất. BBCode, chức năng, lớp học, cuộc phiêu lưu văn bản

Hồi đáp

Trang web Tìm

Hồi đáp

ChếtD_EyE
Đà giám mục

Bài đăng. 1.900

Chủ đề. 9

Đã tham gia. Tháng 5 năm 2017

Danh tiếng. 217

25-Aug-2018, 09. 03 giờ sáng

Lần tới, bạn chỉ cần tìm kiếm = trong hàm
Nếu tên trùng với toàn cầu, bạn đã tìm thấy lỗi

Gần chết, nhưng quá lười để chết. https. //máy chủ nguồn. thông tin
Tất cả mọi người cùng nhau. Chúng tôi không cần các chính trị gia

Hồi đáp

Trang web Tìm

Hồi đáp

Tiếp tục học Python khi tôi bắt đầu, tôi đang ở vấn đề tiếp theo. Tôi đã tạo một bổ trợ thanh công cụ Python với một nút để sử dụng trong ArcMap

Khởi động ArcMap, thanh công cụ ở đó, nút chọn và menu tôi đã tạo bằng Python được hiển thị. Nó chứa các nút radio và hộp tổ hợp

Trên nút đặt lại, tôi muốn xóa các nút radio, xóa mục đã chọn khỏi hộp tổ hợp để nó không được chọn màu xanh lam và đặt hộp tổ hợp trở lại mục đầu tiên trong danh sách

Khi tôi chạy tập lệnh từ PyScripter, menu sẽ xuất hiện và tôi có thể xóa và đặt lại mọi thứ để menu trông giống như vừa được tải

Khi tôi khởi động ArcMap, thanh công cụ Python xuất hiện, chọn nút, menu xuất hiện, chọn một nút radio, chọn một mục từ hộp tổ hợp, tất cả đều hoạt động

Khi tôi chọn nút đặt lại, tôi gặp lỗi sau cho dù đó là nút radio hay hộp tổ hợp

Tôi mở cửa sổ python trong ArcMap để tôi có thể xem điều gì đang xảy ra

Ngoại lệ trong gọi lại Tkinter
Traceback [cuộc gọi gần đây nhất cuối cùng]
Tập tin "C. \Python27\ArcGIS10. 5\Lib\lib-tk\Tkinter. py", dòng 1542, trong __call__
tự trở về. func[*args]
Nộp. \Applications\Python\Layers. py", dòng 63, đang đặt lại
RB1. lựa chọn_clear = var. đặt[0]
TênLỗi. tên toàn cầu 'RB1' không được xác định

Điều này nằm ngoài hiểu biết của tôi vào thời điểm này, tôi đã thử đặt một biến toàn cục mà không thay đổi thông báo lỗi

Đây là những câu lệnh nhập của tôi cho tập lệnh

từ nhập khẩu tkinter *
từ tkinter nhập ttk
nhập tkFont
nhập khẩu arcpy
từ env nhập arcpy
nhập sqlite3
nhập pythonaddin

Tôi không nhập tất cả mã, hiện tại toàn là nút radio và hộp tổ hợp, rất lặp đi lặp lại

Đây là mã tôi có liên quan đến 'RB1'

thiết lập lại chắc chắn[]
RB1. lựa chọn_clear = var. đặt[0]

RB1 = Radiobutton[root, text="Single Map",padx = 5, variable=var, value=1, font="Arial 9"] #, state=NORMAL]. địa điểm[x=10,y=60]
RB1. đóng gói[]
RB1. địa điểm[x=10,y=60]
RB1. cấu hình [trạng thái = BÌNH THƯỜNG]

Nút[root, text='Reset',width=20,bg='brown',fg='white', font="Arial 8 bold", command=reset]. địa điểm[x=39,y=237]

Vì đây là tập lệnh Python đầu tiên của tôi từ trước đến nay và để sử dụng trong ArcMap, tôi chắc chắn rằng có một vài thứ tôi đang thiếu

Lỗi tên cho biến toàn cục trong Python là gì?

global trong Python không tạo biến, nó xác định biến hiện có là toàn cầu . Vì vậy, bạn đang cố nói rằng một số biến là toàn cầu [nhưng nó vẫn không tồn tại] và sau đó gọi nó. Vì vậy, bạn nhận được một lỗi. Lưu câu trả lời này.

Điều đó có nghĩa là gì khi một tên biến không được xác định trong Python?

Lỗi Tên xuất hiện khi bạn cố gắng sử dụng một biến hoặc tên hàm không hợp lệ . Trong Python, mã chạy từ trên xuống dưới. Điều này có nghĩa là bạn không thể khai báo biến sau khi cố gắng sử dụng biến đó trong mã của mình. Python sẽ không biết bạn muốn biến đó làm gì.

Chủ Đề