簡體   English   中英

Python 條件 if/else 無效語法

[英]Python condition if/else invalid syntax

嗨,你能幫我解決以下錯誤嗎? 我知道這聽起來很愚蠢。 在執行 if / else 條件時,出現語法錯誤。 感謝您的幫助。

 def request(self, email, password):
   session = requests.session()
   login_page = session.get(login_url)
   login_soup = BeautifulSoup(login_page.text,'html5lib' )
   e = login_soup.find('input', {'name':'login_form[_token]'})
   csrftok = e['value']
   session.post(login_url,data={'login_form[name]': user,'login_form[password]': passw,'login_form[redirect_url]': '/','login_form[_token]': csrftok})
   membership = session.get(member_url).text()
   if "Free" in membership:
       output().screen(email, password, case = "Free")
       else:
           output().screen(email, password, case = "Premium")
   else:
       output().screen(email, password, case = "Not Working")

這里的第三行...

if "Free" in membership:
    output().screen(email, password, case = "Free")
    else:  # <----- Problematic line
        output().screen(email, password, case = "Premium")
else:
    output().screen(email, password, case = "Not Working")

沒有對應的if語句。 您需要另一個if語句,否則刪除該行。

我猜你想做if elif else

if "Free" in membership:
   output().screen(email, password, case="Free")
elif "Premium" in membership:
   output().screen(email, password, case="Premium")
else:
   output().screen(email, password, case="Not Working")

在 python 中,尊重縮進和組織良好的代碼非常重要。 因為你有一個沒有ifelse語句並且對於 {{else if}} 你可以使用elif所以你必須遵循以下模式:

if c:
   code
elif c1:
   code1
else:
   code2

所以你的代碼必須是這樣的:

 def request(self, email, password):
   session = requests.session()
   login_page = session.get(login_url)
   login_soup = BeautifulSoup(login_page.text,'html5lib' )
   e = login_soup.find('input', {'name':'login_form[_token]'})
   csrftok = e['value']
   session.post(login_url,data={'login_form[name]': user,'login_form[password]': passw,'login_form[redirect_url]': '/','login_form[_token]': csrftok})
   membership = session.get(member_url).text()
   if "Free" in membership:
       if <<condition here>>:
           output().screen(email, password, case = "Free")
       else:
           output().screen(email, password, case = "Premium")
   else:
       output().screen(email, password, case = "Not Working")
if "Free" in membership:
   output().screen(email, password, case = "Free")
>>>else:
       output().screen(email, password, case = "Premium")
else:
       output().screen(email, password, case = "Not Working")
  1. 縮進
  2. 有一個流浪的“其他”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM