我的python代码根据用户输入选择不同的函数有什么错?

我的python代码根据用户输入选择不同的函数有什么错?,python,function,beautifulsoup,Python,Function,Beautifulsoup,我用beautifulsoup制作了一个脚本,以便从网站上获得价格。总的来说,它工作得很好,因为它给了我在线价格。但问题是: 当我选择另一个lg的时候,它不会注意用户的输入,只是按照它的意愿工作。。。现在我想知道这有什么问题, 另一件重要的事情是: 如何在文本或CSV文件中保存带有日期的价格。。。 如何根据用户的请求重新运行应用程序? 这是我的密码: #<div class="c-product__seller-price-raw js-price-value">۴,۵۹۵,۰۰۰

我用beautifulsoup制作了一个脚本,以便从网站上获得价格。总的来说,它工作得很好,因为它给了我在线价格。但问题是:

当我选择另一个lg的时候,它不会注意用户的输入,只是按照它的意愿工作。。。现在我想知道这有什么问题, 另一件重要的事情是: 如何在文本或CSV文件中保存带有日期的价格。。。 如何根据用户的请求重新运行应用程序? 这是我的密码:

 #<div class="c-product__seller-price-raw js-price-value">۴,۵۹۵,۰۰۰ </div>

import requests
from bs4 import BeautifulSoup
html="https://www.digikala.com/product/dkp-1800630/%DA%AF%D9%88%D8%B4%DB%8C-%D9%85%D9%88%D8%A8%D8%A7%DB%8C%D9%84-%D8%B3%D8%A7%D9%85%D8%B3%D9%88%D9%86%DA%AF-%D9%85%D8%AF%D9%84-galaxy-a70-sm-a705fnds-%D8%AF%D9%88-%D8%B3%DB%8C%D9%85%DA%A9%D8%A7%D8%B1%D8%AA-%D8%B8%D8%B1%D9%81%DB%8C%D8%AA-128-%DA%AF%DB%8C%DA%AF%D8%A7%D8%A8%D8%A7%DB%8C%D8%AA"

user=input("Please select your language, English 'E' or Persian 'P': ")

def Persian_App():
    request= requests.get(html)
    content=request.content
    soup=BeautifulSoup(content,"html.parser")
    element=soup.find("div",{"class":"c-product__seller-price-raw js-price-value"})
    print(" Gheymate Gooshie A70 Dar hale Hazer: ")
    print(element.text.strip())
    print("Anjam Shod!")
    return ("")

def English_App():
    request= requests.get(html)
    content=request.content
    soup=BeautifulSoup(content,"html.parser")
    element=soup.find("div",{"class":"c-product__seller-price-raw js-price-value"})
    print(" The Price of Samsung A70 Serie at the moment is:  ")
    print(element.text.strip())
    print("Done")
    return ("")

if user == "E" or "e":
    print(English_App())    
elif user == "P"or"p":
    print(Persian_App())
else:
    print("Please Enter a correct letter!")
    pass
print(input("Press ANY Key to Exit!"))
问题1 在python中相当于:

if (user == "E") or "e":
e的计算结果为True,因此即使用户与e不同,第一个条件也将始终为True,并且您的代码将始终执行English_应用程序

要解决您的问题,请执行以下操作:

if user in ("E"; "e"):

问题2 您需要将函数的结果保存到变量中,如:

result = None
if user.lower() == "e":
    result = English_App()
elif user.lower() == "p":
    result  = Persian_App()
else:
    result = "Please Enter a correct letter!"
然后可以使用将结果保存到文件中

问题3 你有几种可能性。例如,检查:


它工作得很好,我的朋友,谢谢你的帮助。我得到了我的答案。。。非常感谢。
if user.lower() ==  "e":
result = None
if user.lower() == "e":
    result = English_App()
elif user.lower() == "p":
    result  = Persian_App()
else:
    result = "Please Enter a correct letter!"