簡體   English   中英

根據用戶選擇執行的功能

[英]Function that executes based on user selection

我該如何創建一個名為def Toyota()的函數來檢查用戶輸入,然后用戶選擇 Toyota 開頭的汽車,它會顯示“這是一輛好車!”之類的文字。 或進一步研究豐田的車型,如果用戶選擇普銳斯(Prius) 開頭的汽車,它將打印“這是節油型汽車!” 並在我的def main()上調用它。

sData.csv

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.

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