Đầu tiên, tôi sẽ giải thích tại sao lỗi này lại xuất hiện. Bạn cũng sẽ học cách giải quyết lỗi và cách tránh nó ngay từ đầu
Đây là những gì chúng tôi sẽ đề cập
- Lỗi
4 trong Python là gì?print["3" * 3.3] # output # Traceback [most recent call last]: # File "main.py", line 1, in # print["3" * 3.3] # TypeError: can't multiply sequence by non-int of type 'float'
- Lỗi
4 xảy ra như thế nào trong Python?print["3" * 3.3] # output # Traceback [most recent call last]: # File "main.py", line 1, in # print["3" * 3.3] # TypeError: can't multiply sequence by non-int of type 'float'
- Lỗi
- Cách khắc phục lỗi
4 trong Pythonprint["3" * 3.3] # output # Traceback [most recent call last]: # File "main.py", line 1, in # print["3" * 3.3] # TypeError: can't multiply sequence by non-int of type 'float'
Lỗi print["3" * 3.3]
# output
# Traceback [most recent call last]:
# File "main.py", line 1, in
# print["3" * 3.3]
# TypeError: can't multiply sequence by non-int of type 'float'
4 trong Python là gì?
print["3" * 3.3]
# output
# Traceback [most recent call last]:
# File "main.py", line 1, in
# print["3" * 3.3]
# TypeError: can't multiply sequence by non-int of type 'float'
Có hai loại số trong Python
- số nguyên – số nguyên có thể dương, âm hoặc không
- số dấu phẩy động – số dương hoặc số âm có dấu thập phân
Bạn có thể nhân một số nguyên với một chuỗi để tạo một dãy ký tự lặp lại
print["Python" * 3]
# output
# PythonPythonPython
Và xin nhắc lại, chuỗi là bất kỳ ký tự nào được đặt trong dấu ngoặc đơn hoặc dấu ngoặc kép – bao gồm cả số
print["3" * 3]
# output
# 333
Nhưng hãy xem điều gì sẽ xảy ra khi bạn cố gắng nhân một chuỗi với một số dấu phẩy động
print["3" * 3.3]
# output
# Traceback [most recent call last]:
# File "main.py", line 1, in
# print["3" * 3.3]
# TypeError: can't multiply sequence by non-int of type 'float'
Một lỗi được đưa ra – cụ thể là một
print["3" * 3]
# output
# 333
4print["3" * 3]
# output
# 333
4 là một ngoại lệ trong Python xuất hiện khi bạn cố gắng thao tác trên một kiểu dữ liệu không hỗ trợ thao tác cụ thể đóNhư thông báo lỗi cho bạn biết, bạn không thể thực hiện phép nhân giữa một chuỗi [hoặc chuỗi] và một số dấu phẩy động [hoặc float], vì Python không hỗ trợ thao tác đó giữa hai loại dữ liệu đó
Lỗi print["3" * 3.3]
# output
# Traceback [most recent call last]:
# File "main.py", line 1, in
# print["3" * 3.3]
# TypeError: can't multiply sequence by non-int of type 'float'
4 xảy ra như thế nào trong Python?
print["3" * 3.3]
# output
# Traceback [most recent call last]:
# File "main.py", line 1, in
# print["3" * 3.3]
# TypeError: can't multiply sequence by non-int of type 'float'
Lỗi
print["3" * 3.3]
# output
# Traceback [most recent call last]:
# File "main.py", line 1, in
# print["3" * 3.3]
# TypeError: can't multiply sequence by non-int of type 'float'
4 thường xảy ra khi bạn sử dụng hàm print["3" * 3]
# output
# 333
8 của Python, hàm này nhận đầu vào của người dùng. Điều này là do, theo mặc định, hàm print["3" * 3]
# output
# 333
8 trả về đầu vào của người dùng dưới dạng một chuỗiHãy lấy ví dụ giả định sau. Giả sử tôi yêu cầu người dùng nhập tuổi của họ và lưu câu trả lời của họ vào một biến có tên
print["3" * 3.3]
# output
# Traceback [most recent call last]:
# File "main.py", line 1, in
# print["3" * 3.3]
# TypeError: can't multiply sequence by non-int of type 'float'
0________số 8Tôi có thể kiểm tra kiểu dữ liệu của giá trị được lưu trữ trong biến
print["3" * 3.3]
# output
# Traceback [most recent call last]:
# File "main.py", line 1, in
# print["3" * 3.3]
# TypeError: can't multiply sequence by non-int of type 'float'
0 bằng cách sử dụng hàm print["3" * 3.3]
# output
# Traceback [most recent call last]:
# File "main.py", line 1, in
# print["3" * 3.3]
# TypeError: can't multiply sequence by non-int of type 'float'
2 và sau đó in kết quả ra bàn điều khiểnprint["3" * 3]
# output
# 333
1Từ đầu ra, bạn có thể thấy rằng mặc dù tôi đã nhập một số nguyên nhưng kiểu dữ liệu trả về là kiểu chuỗi
Nếu sau đó, vì bất kỳ lý do gì, tôi muốn nhân tuổi của người dùng với một số có dấu phẩy động, tôi sẽ gặp lỗi
print["3" * 3.3]
# output
# Traceback [most recent call last]:
# File "main.py", line 1, in
# print["3" * 3.3]
# TypeError: can't multiply sequence by non-int of type 'float'
4print["3" * 3]
# output
# 333
2Cách giải quyết lỗi print["3" * 3.3]
# output
# Traceback [most recent call last]:
# File "main.py", line 1, in
# print["3" * 3.3]
# TypeError: can't multiply sequence by non-int of type 'float'
4 trong Python
print["3" * 3.3]
# output
# Traceback [most recent call last]:
# File "main.py", line 1, in
# print["3" * 3.3]
# TypeError: can't multiply sequence by non-int of type 'float'
Để giải quyết lỗi
print["3" * 3.3]
# output
# Traceback [most recent call last]:
# File "main.py", line 1, in
# print["3" * 3.3]
# TypeError: can't multiply sequence by non-int of type 'float'
4, hãy chuyển đổi chuỗi thành số dấu phẩy động trước khi nhân nó với số floatNhư bạn đã thấy trước đó, phần sau sẽ đưa ra lỗi
print["3" * 3.3]
# output
# Traceback [most recent call last]:
# File "main.py", line 1, in
# print["3" * 3.3]
# TypeError: can't multiply sequence by non-int of type 'float'
4print["3" * 3.3]
# output
# Traceback [most recent call last]:
# File "main.py", line 1, in
# print["3" * 3.3]
# TypeError: can't multiply sequence by non-int of type 'float'
Nếu bạn chuyển đổi chuỗi
print["3" * 3.3]
# output
# Traceback [most recent call last]:
# File "main.py", line 1, in
# print["3" * 3.3]
# TypeError: can't multiply sequence by non-int of type 'float'
7 thành số float trước khi nhân nó với số dấu phẩy động print["3" * 3.3]
# output
# Traceback [most recent call last]:
# File "main.py", line 1, in
# print["3" * 3.3]
# TypeError: can't multiply sequence by non-int of type 'float'
8, sẽ không có lỗiĐể chuyển đổi một chuỗi thành float, hãy sử dụng hàm
print["3" * 3.3]
# output
# Traceback [most recent call last]:
# File "main.py", line 1, in
# print["3" * 3.3]
# TypeError: can't multiply sequence by non-int of type 'float'
9print["3" * 3]
# output
# 333
7Và bạn có thể làm tương tự khi sử dụng hàm
print["3" * 3]
# output
# 333
8. Chuyển đổi giá trị người dùng nhập thành số dấu phẩy động bằng hàm print["3" * 3.3]
# output
# Traceback [most recent call last]:
# File "main.py", line 1, in
# print["3" * 3.3]
# TypeError: can't multiply sequence by non-int of type 'float'
9Đây là cách bạn sẽ viết lại ví dụ bằng cách sử dụng hàm
print["3" * 3]
# output
# 333
8 từ trước đóprint["3" * 3.3]
# output
# Traceback [most recent call last]:
# File "main.py", line 1, in
# print["3" * 3.3]
# TypeError: can't multiply sequence by non-int of type 'float'
1Hàm
print["3" * 3.3]
# output
# Traceback [most recent call last]:
# File "main.py", line 1, in
# print["3" * 3.3]
# TypeError: can't multiply sequence by non-int of type 'float'
9 chuyển đổi giá trị chuỗi do hàm print["3" * 3]
# output
# 333
8 trả về thành một số có dấu phẩy động và bạn có thể nhân giá trị đó với một số có dấu phẩy độngPhần kết luận
Và bạn có nó rồi đấy. Bây giờ bạn đã biết cách giải quyết lỗi
print["3" * 3.3]
# output
# Traceback [most recent call last]:
# File "main.py", line 1, in
# print["3" * 3.3]
# TypeError: can't multiply sequence by non-int of type 'float'
4 trong PythonTôi hy vọng bạn thấy hướng dẫn này hữu ích
Để tìm hiểu thêm về ngôn ngữ lập trình Python, hãy xem chứng chỉ Python của freeCodeCamp
Bạn sẽ bắt đầu từ những điều cơ bản và học theo cách tương tác và thân thiện với người mới bắt đầu. Cuối cùng, bạn cũng sẽ xây dựng năm dự án để đưa vào thực tế và giúp củng cố những gì bạn đã học
Cảm ơn bạn đã đọc và chúc bạn mã hóa vui vẻ
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
Học một cái gì đó mới mỗi ngày và viết về nó
Nếu bài viết này hữu ích, hãy tweet nó
Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu