Đoạn chương trình sau có lỗi gì?
n = input("Nhập số tự nhiên n: ")
k = int(input("Nhập số cần nhân lên: "))
print("Kết quả là: ", n*k)
Quảng cáo
4 câu trả lời 81
Đoạn chương trình bị lỗi ở kiểu dữ liệu của biến n.
n = input(...) → n là chuỗi (string)
k = int(input(...)) → k là số nguyên
Khi thực hiện n * k, Python sẽ:
lặp lại chuỗi n k lần, chứ không phải phép nhân số
Ví dụ:
Nhập n = 5, k = 3
Kết quả sẽ là: "555" (sai)
Cách sửa:
Ép kiểu n về số nguyên:
n = int(input("Nhập số tự nhiên n: "))
k = int(input("Nhập số cần nhân lên: "))
print("Kết quả là: ", n*k)
Lỗi là do chưa chuyển n sang kiểu số.
Lỗi cụ thể
Ở dòng đầu tiên: n = input("Nhập số tự nhiên n: ").
Trong Python, hàm input() luôn trả về dữ liệu dưới dạng chuỗi (string).
Nếu bạn nhập n = 5 và k = 3.
Vì n đang là chuỗi "5", phép toán "5" * 3 sẽ không ra 15 mà sẽ thực hiện phép nhân bản chuỗi.
Kết quả in ra sẽ là: 555
Quảng cáo
Bạn cần hỏi gì?
Câu hỏi hot cùng chủ đề
-
Đã trả lời bởi chuyên gia
55430 -
Đã trả lời bởi chuyên gia
31360 -
Đã trả lời bởi chuyên gia
29906
