Trong python 2.x, raw_input()
trả về một chuỗi và input()
đánh giá đầu vào trong bối cảnh thực hiện, trong đó nó được gọi là
>>> x = input()
"hello"
>>> y = input()
x + " world"
>>> y
'hello world'
Trong python 3.x, input
đã được loại bỏ và các chức năng trước đây được biết đến là raw_input
hiện là input
. Vì vậy, bạn phải tự gọi compile
và hơn eval
nếu bạn muốn có chức năng cũ.
python2.x python3.x
raw_input() --------------> input()
input() -------------------> eval(input())
Trong 3.x, phiên trên đi như thế này
>>> x = eval(input())
'hello'
>>> y = eval(input())
x + ' world'
>>> y
'hello world'
>>>
Vì vậy, bạn đã có thể nhận được một lỗi tại người thông dịch bởi vì bạn đã không đặt dấu ngoặc kép quanh đầu vào của bạn. Điều này là cần thiết bởi vì nó được đánh giá. Bạn gặp lỗi tên ở đâu?
Whats xảy ra ở đây tôi đã cố gắng của bạn dòng trên bàn điều khiển (3.x) và nó diễn giải x = đầu vào() "xin chào" <- i nhập bảng điều khiển này khi được hỏi) x + "thế giới" y 'x + "thế giới" Tại sao? x không được dịch sang một chuỗi –
lỗi tôi đã nhận được >>> x = input() Traceback (cuộc gọi gần đây nhất cuối cùng): File "", dòng 1, trong EOFError: EOF khi đọc một dòng –
@Guillermo, Phần thông dịch mà tôi đã trình bày là dành cho 2.x. Tôi rối tung lên trên 3.x (tôi đã không chơi với nó nhiều ở tất cả) vì vậy tôi đã xóa một phần của câu trả lời của tôi. – aaronasterling