首页 > 解决方案 > 如何在 move_dict 中的“say_this”中去掉下划线?

问题描述

def get_input():
    move_list = input(": ").split()
    movement = move_list[0]
    if movement in move_dict:
        movement = move_dict[movement]
    else:
        print("wrong answer {}".format(movement))
        return

    if len(move_list) >= 2:
        movement2 = move_list[1]
        print(movement(movement2))
    else:
        print(movement("noting"))

def say_this(noun):
    return "you said {}".format(noun)

如何从“say_this”中删除下划线,这样我就可以在输入中没有下划线的情况下输入说这个?

move_dict = {   "say_this": say_this }

while True:
    get_input()

标签: pythondictionarytext

解决方案


将输入的所有部分(最后一个除外)组合到一个定义移动类型的字符串中:

movement = " ".join(move_list[:-1])

移动的参数现在是最后一个元素,而不是第二个:

movement2 = move_list[-1]

当然,删除下划线。


推荐阅读