Lỗi TypeError: unsupported operand type(s) for %: 'NoneType' and 'str' khi dùng % với print

Mình đang học python bằng youtube daynhauhoc bài 5.
Mình có đánh theo video dạy nhưng khi chạy lại cho lỗi dưới đây.
Ai biết nguyên nhân và cách khắc phục có thể chỉ mình với.

my_name = 'Zed A. Shaw'
my_age = 35 # not a lie
my_height = 74 # inches
my_weight = 180 # lbs
my_eyes = 'Blue'
my_teeth = 'White'
my_hair = 'Brown'

print ("Let's talk about %s.") % my_name
print ("He's %d inches tall.") % my_height
print ("He's %d pounds heavy.") % my_weight
print ("Actually that's not too heavy.")
print ("He's got %s eyes and %s hair." )% (my_eyes, my_hair)
print ("His teeth are usually %s depending on the coffee." )% my_teeth

Let's talk about %s.
Traceback (most recent call last):
  File "/Users/hoangthanhtung/daynhauhoc/programing/python/ex5.py", line 9, in <module>
    print ("Let's talk about %s.") % my_name
TypeError: unsupported operand type(s) for %: 'NoneType' and 'str'
>>>

Mình dùng mac và sử dụng Python3.

Video sử dụng Py2, còn bạn đang dùng Py3 nên bị lỗi.

Đưa % <cái gì đó> vào trong ngoặc. Demo:

>>> print("fun %d" % 3)
fun 3
1 Like

1 Like

Cám ơn HK boy nhiều nhé .mình sửa được lỗi rùi.:grinning:

Cám ơn Pham Van Dung nhiều nhé.nếu có hai biến trở lên thì phải dùng cách trên nhỉ.Mình không giỏi tiếng anh cho lắm.

1 Like

Đúng rồi, nhưng nếu dùng python3.6 trở lên thì còn có cách cool hơn nữa

name = "Dun"
sex = "male"
print(f"My name is {name}, {sex}")

output

My name is Dun, male
2 Likes

cám ơn Pham Van Dung nhiều nhé.

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