데이터베이스에서 디스크 글로프 데이터를 가져 오는 ircbot을 만들고 있습니다. 가능한 명령을 사전에 저장하고 싶습니다.사용자 입력의 선택적 인수
function_dictionary = {"get PLAYERS best round from COURSE on YEAR" :
get_best_round,
"get PLAYERS THINGS from COURSE on YEAR" : get_things}
플레이어, 코스 등은 목록에 저장됩니다. 모든 인수는 사용자가 제공하는 경우
PLAYERS = ["name1", "name2", "name3"]
COURSES = ["course1", "course2", "course3"]
THINGS = ["birdies", "pars", "bogeys"]
YEARS = [2015, 2016, 2017]
, 내가 인수를 교체하고 저장 원래 값을 수 있습니다
userinput = "get name1 best round from course1 on 2016"
for p in PLAYERS:
if p in userinput:
player = p
userinput = userinput.replace(p, "PLAYERS")
for c in COURSES:
if c in userinput:
course = c
userinput = userinput.replace(c, "COURSE")
for y in YEARS:
if y in userinput:
year = y
userinput = userinput.replace(y, "YEAR")
를 그리고 명령이 사전에있는 경우 다음 검색 :
for key in function_dictionary:
if key in userinput:
func_to_run = function_dictionary[key]
func_to_run(player, course, year)
방법 하나 이상의 인수가 사용자 입력에서 누락 된 경우이 작업을 수행합니까?
userinput1 = "get name1 best round"
트리거해야
get_best_round("name1", course = "all", year = "all")
및
userinput2 = "get best round from course1"
트리거해야
get_best_round(name = "all", "course1", year = "all")
및
01,239,플레이어/과정/년이 후 원하는 값으로 기본 UserInput 사용자가 선택되지 않은 경우
get_things(name = "all", "birdies", course = "all", 2016)