for循環中嵌套多個if語句的問題
老師,您好,我在編寫某段程序時出現一些問題難以搞懂,忘能指點
#!usr/bin/python #?-*-?coding:?UTF-8?-*- #?lexicon.py #?掃描器模塊,用以判斷用戶輸入的詞匯類型 #用戶輸入 user_input?=?raw_input("input?now!!\n>") words?=?user_input.split()?#分割字符串并以列表形式返回 def?scan(words): ????#詞匯表 ????direction_list?=?['north',??'south',?'east', ????????????????????'west',?'down',?'up',?'left', ????????????????????????'right',?'back'] ????verb_list?=?['go',?'stop',?'kill',?'eat'] ????stops_list?=?['the',?'in',?'of',?'from', ?????????????????????'at',?'it'] ????nouns_list?=?['door',?'bear',?'princess', ????????????????????'cabinet'] ????#用于存儲掃描處理結果 ????results?=?[] ????#遍歷列表每個元素 ????for?word?in?words: ????#判斷是否為方向 ????????if?word?in?direcition_list: ????????????stuff?=?('direction',?word) ????????????return?results.append(stuff) ????#判斷是否為動詞 if?word?in?verb_list: ????????????stuff?=?('verb',?word) ????????????return?results.append(stuff) ????#判斷是否為修飾詞 ????????if?word?in?stops_list: ????????????stuff?=?('stops',?word) ????????????return?results.append(stuff) ????#判斷是否為名詞 ????????if?word?in?nouns_list: ????????????stuff?=?('nouns',?word) ????????????return?results.append(stuff) ????#判斷是否為數字 ????????if?convert_number(word): ????????????return?results.append(convert_number(word)) ???????????? def?convert_number(s): ????try: ????????return?int(s) ????except?ValueError: ????????return?None
File?"lexicon.py",?line?32 ???? ????if?word?in?verb_list: ????^ SyntaxError:?invalid?syntax ??1?#!/usr/bin/python??????????????????????????????????????????????????????????? ??2?#?-*-?coding:?UTF-8?-*- ??3?#?test.py ??4?lists?=?[1,2,3,4,5,6,7,8] ??5?list1?=?[1,2] ??6?list2?=?[3,4,5] ??7?list3?=?[6,7,8] ??8?for?i?in?lists: ??9?????if?i?in?list1: ?10?????????print?"1" ?11?????if?i?in?list2: ?12?????????print?"2" ?13?????if?i?in?list3: ?14?????????print?"3" ?15?? #?python?test.py? 1 1 2 2 2 3 3
3
如上,因為第一段代碼執行報錯,所以我寫了下面一段用來測試,發現for循環中嵌套使用多個if語句語法正確
我不知道是什么原因了
2016-04-28
代碼和你的是一樣的,你那一行if前面使用了一個全角空格.