Code bị lỗi IndentationError

import python_weather
import speech_recognition
import pyttsx3

robot_ear = speech_recognition.Recognizer()
robot_mouth = pyttsx3.init()
robot_brain = ""

with speech_recognition.Microphone() as mic:
        print("Tfive: Tôi đang lắng nghe bạn")
        audio = robot_ear.listen(mic)

print("Tfive: ...")

	try:
        you = robot_ear.recognize_google(audio)
    except:
        you == ""

    print("You: " + you)


	if you == "":
        robot_brain = "Tôi không hiểu bạn nói gì ?"
	elif "Weather" in you:
		client = python_weather.Client(format=python_weather.IMPERIAL)

print("Robot: " + robot_brain)

(Lỗi 1:IndentationError: unindent does not match any outer indentation level (không Tab)
(Lỗi 2:IndentationError: unexpected indent (Có Tab

Hi there,

Cậu có thể nói rõ vấn đề của cậu là gì không? Vì

4 Likes

[Python cơ bản]
code python rất quan trọng việc thụt đầu dòng (Indentation). Do đó bạn chú ý sửa lại thụt đầu dòng cho chuẩn vào.

Nếu thấy khó quá thì tìm sách python cơ bản học lại từ đầu 1 lượt trước khi code những cái “cao siêu” khác

7 Likes

Có 2 cách thường dùng để thụt dòng (indent):

  1. Dùng dấu cách (thường là 2 hoặc 4 dấu cách).
  2. Dùng kí tự tab (\t).

Trong Python chỉ cho phép dùng 1 trong 2 cho tất cả các dòng. Phải đồng loạt theo 1 kiểu. Nếu dùng lộn xộn (vừa dấu cách, vừa tab) thì sẽ gặp lỗi trên. Ngoài ra, thụt không đúng số lượng cũng sẽ lỗi.

with SITUVNgcd as me: # thụt 0 đơn vị
        print("Hello world", me) # thụt 2 đơn vị <= vô lý quá

    exit() # thụt 1 đơn vị ???
4 Likes

Tôi đang viết thử AI và trong quá trình tôi đã cho thêm import python_weather để nó chạy và kết quả nó xảy ra lỗi

Và trong editor chỉnh gõ 1 Tab ra 3 spaces (ko phải tab width) :slight_smile:

3 Likes

Code trên bị lỗi IndentationError ở dòng 15, do bạn thụt lề sai trong khối lệnh try except và if elif.

Lỗi Unexpected indent trong python là lỗi do thụt lề sai, được coi như là một dạng lỗi cú pháp trong python.
Nguồn : Thụt lề trong python | Lập trình căn bản - học lập trình theo phong cách Nhật Bản

Bạn sửa lại code như sau nha:

import python_weather
import speech_recognition
import pyttsx3

robot_ear = speech_recognition.Recognizer()
robot_mouth = pyttsx3.init()
robot_brain = ""

with speech_recognition.Microphone() as mic:
        print("Tfive: Tôi đang lắng nghe bạn")
        audio = robot_ear.listen(mic)

print("Tfive: ...")

try:
    you = robot_ear.recognize_google(audio)
except:
    you == ""

print("You: " + you)


if you == "":
    robot_brain = "Tôi không hiểu bạn nói gì ?"
elif "Weather" in you:
    client = python_weather.Client(format=python_weather.IMPERIAL)

print("Robot: " + robot_brain)
1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?