Hướng dẫn how do i fix invalid syntax in python else? - làm cách nào để sửa cú pháp không hợp lệ trong python khác?
Tôi đang gặp lỗi này: Show
Dòng gây ra vấn đề được đánh dấu bằng nhận xét trong mã:
4 là biến được gán cho lớp "thế giới".Thành thật mà nói, tôi không biết tại sao tôi có được điều này. Trước khi mọi thứ đều ổn và bây giờ lỗi đó hiển thị sau khi thêm một số hướng dẫn bổ sung trong các khối thụt lề khác. Bất kỳ ý tưởng? Tuyên bố và điều kiện def FileParse(self, table_file): vars={} tf = open(table_file, 'r') for line in tf: if line.startswith("#") or line.strip() == "": pass elif line.startswith("n_states:"): self.n_states = str(line[9:].strip()) elif line.startswith("neighborhood:"): self.neighborhood = str(line[13:].strip()) elif line.startswith("symmetries:"): self.symmetries = str(line[11:].strip()) elif line.startswith("var "): line = line[4:] ent = line.replace('=',' ').\ replace('{',' ').\ replace(',',' ').\ replace(':',' ').\ replace('}',' ').\ replace('\n','').split() vars[ent[0]] = [] for e in ent[1:]: if e in vars: vars[ent[0]] += vars[e] else: vars[ent[0].append(int(e))] else: rule = line.strip().split(",") for k in vars.keys(): if k in rule: for i in vars[k]: change = rule.replace(k, i) change = [int(x) for x in change] w.rules.append(Rule(change[:5],change[5]) else: # line which causes the problem rule = [int(x) for x in rule] w.rules.append(Rule(rule[:5],rule[5])) tf.close() self.parse_status "OK" return w.rules 5 5 Trong Python có nghĩa là: Chỉ chạy phần còn lại của mã này một lần, nếu điều kiện đánh giá là 7. Don Tiết chạy phần còn lại của mã nếu nó không.only run the rest of this code once, if the condition evaluates to 7. Don’t run the rest of the code at all if it’s not.Giải phẫu của một câu lệnh 5: Bắt đầu với từ khóa 5, theo sau là giá trị boolean, một biểu thức đánh giá thành 7 hoặc giá trị với sự thật của Hồi. Thêm một dấu hai chấm 1, một dòng mới và viết mã sẽ chạy nếu câu lệnh là 7 dưới một cấp độ thụt.Hãy nhớ rằng, giống như với các chức năng, chúng ta biết rằng mã được liên kết với một câu lệnh 5 theo cấp độ của nó. Tất cả các dòng được thụt vào theo câu lệnh 5 sẽ chạy nếu nó đánh giá thành 7.
Hãy nhớ rằng, các câu lệnh 5 của bạn chỉ chạy nếu biểu thức trong chúng đánh giá thành 7 và giống như với các chức năng, bạn sẽ cần phải nhập thêm một không gian trong bản phát hành để chạy nó.Sử dụng >>> if 3 < 5:
... print("Hello, World!")
...
Hello, World!
def FileParse(self, table_file):
vars={}
tf = open(table_file, 'r')
for line in tf:
if line.startswith("#") or line.strip() == "": pass
elif line.startswith("n_states:"):
self.n_states = str(line[9:].strip())
elif line.startswith("neighborhood:"):
self.neighborhood = str(line[13:].strip())
elif line.startswith("symmetries:"):
self.symmetries = str(line[11:].strip())
elif line.startswith("var "):
line = line[4:]
ent = line.replace('=',' ').\
replace('{',' ').\
replace(',',' ').\
replace(':',' ').\
replace('}',' ').\
replace('\n','').split()
vars[ent[0]] = []
for e in ent[1:]:
if e in vars: vars[ent[0]] += vars[e]
else:
vars[ent[0].append(int(e))]
else:
rule = line.strip().split(",")
for k in vars.keys():
if k in rule:
for i in vars[k]:
change = rule.replace(k, i)
change = [int(x) for x in change]
w.rules.append(Rule(change[:5],change[5])
else: # line which causes the problem
rule = [int(x) for x in rule]
w.rules.append(Rule(rule[:5],rule[5]))
tf.close()
self.parse_status "OK"
return w.rules
|