[英]How to write a code that automatically executes a function based on the user input?
[英]Function that executes based on user selection
我該如何創建一個名為def Toyota()
的函數來檢查用戶輸入,然后用戶選擇以 Toyota 開頭的汽車,它會顯示“這是一輛好車!”之類的文字。 或進一步研究豐田的車型,如果用戶選擇以普銳斯(Prius) 開頭的汽車,它將打印“這是節油型汽車!” 並在我的def main()
上調用它。
import pandas
# reads in vehicle Data
df = pandas.read_csv('sData.csv')
pandas.set_option('display.max_columns', None)
pandas.set_option('display.width', 400)
def get_choice(data, column):
#Gets user choice
nums = [val for val in range(len(df[column].unique()))]
choices = list(zip(nums, data[column].unique()))
print("Select '%s' of the car\n" % column)
for v in choices:
print("%s. %s" % (v))
user_input = input("Answer: ")
user_answer = [val[1] for val in choices if val[0]==int(user_input)][0]
print("'%s' = %s\n" % (column, user_answer))
return user_answer
def Toyota():
if df.loc[(df["make"] == "Toyota")]:
print("This is a good car")
if df.loc[(df["model"] == "Prius")]:
print("This is a gas efficient car!")
else:
pass
def main():
make_input = get_choice(data=df, column="make")
filtered_makes = df.loc[df["make"] == make_input]
model_input = get_choice(data=filtered_makes, column="model")
filtered_model = df.loc[df["model"] == model_input]
year_input = get_choice(data=filtered_model, column="year")
newdf = df.loc[(df["make"] == make_input) & (df["model"] == model_input) & (df["year"] == year_input)]
print(newdf)
Toyota()
if __name__ == "__main__":
main()
創建兩個期望答案的字典:
model = {
"prius":"your text"
}
make={
"toyota":"your text"
}
然后只需打印:
def Toyota():
if df["make"] in make:
print(make.get(df["make"]))
對於模型也是如此
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.