Lỗi Need more than 1 value khi cố lấy 2 biến trong một lần gọi raw_input()

Em có đoạn code:

age = raw_input("How old are you? "),
height, tall = input("How tall are you? "),
weight = raw_input("How much do you weight? ")

print "So, you're %r old, %r tall and %r heavy." % (age, tall, weight)

lỗi:

How old are you? 18
How tall are you? 170
Traceback (most recent call last):
  File "/home/vuonglv/python/ex12/ex12.py", line 2, in <module>
    height, tall = raw_input("How tall are you? "),
ValueError: need more than 1 value to unpack

Em thử nhập 2 lần

How old are you? 18
How tall are you? 170 170
Traceback (most recent call last):
  File "/home/vuonglv/python/ex12/ex12.py", line 2, in <module>
    height, tall = raw_input("How tall are you? "),
ValueError: need more than 1 value to unpack

Em muốn lấy dữ liệu cho 2 biến heighttall trong một lần gọi hàm raw_input() nhưng có vẻ không được.
Em đã thử việc truyền 2 tham số khi nhập ở Terminal, em hiểu là raw_input() này nó get dữ liệu vào dạng str, thì làm sao để mình lấy được 2 biến như trên ạ?

Dòng này cần gán 2 biến, tại sao vế phải chỉ có 1 giá trị?

2 Likes

đó chính là vấn đề em băn khoăn. Liệu mình có thể làm như vậy không? Và nếu không làm được như vậy thì có cách nào khác để giải quyết vấn đề là đưa 1 giá trị cho 2 biến đồng thời ạ.
Dòng đó chỉ là phép thử của em thôi ạ.

Lý do: Input nhận vào một chuỗi, nên nó không thể gán cho 2 giá trị được.
Solution: height, tall = input("How tall are you? ").split()

1 Like

Cách cắt chuỗi nhập vào này được bác ạ!
Thử cho vui thôi chứ thực tế e nghĩ chắc chẳng ai dùng kiểu 2 biến một lúc này. hè hè

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?