[英]syntax error with python code
我班上有這個功能:
def removeUserFromSessionDatabase(self, user):
if user in self.users:
for k in self.users.keys():
if k == user:
del self.users[k]
print("Removed")
else:
print("user does not exist")
else:
print "soemthing"
現在我總是在這最后出現錯誤else
:有消息SyntaxError: invalid syntax
在那里,因為它應該工作。 用戶是這里的字典,沒有其他方法。 為什么會出現此語法錯誤?
您的縮進可能不正確,很可能是由制表符引起的。 運行python -tt scriptname.py
進行檢查。
否則,在您的代碼中沒有語法錯誤會導致此特定異常,而在您提供給我們的代碼中則沒有。
你可以通過簡化很多
def removeUserFromSessionDatabase(self, user):
return self.users.pop(user,False)
要么
def removeUserFromSessionDatabase(self, user):
if self.users.pop(user,False):
print "%s was deleted from group"
else:
print "%s is not in group"
要么
def removeUserFromSessionDatabase(self, user):
userData = self.users.pop(user,False):
if userData:
#do Something
else:
#do something else
或最后
def removeUserFromSessionDatabase(self, user):
try:userData = self.users.pop(user):
except KeyError:
#user does not exist in dict
pass
print "Deleted {0}:{1} From List".format((user,userData))
顯然(per denlan,我相信) del
很好用
def removeUserFromSessionDatabase(self, user):
try:
del self.users[user]
print "Removed user"
except KeyError:
print "User does not exist"
def alt_removeUserFromSessionDatabase(self, user):
if user in self.users
del self.users[user]
print "Removed user"
else:
print "User does not exist"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.