extract Asked:2024-07-29 02:58:15 +0000 UTC2024-07-29 02:58:15 +0000 UTC 2024-07-29 02:58:15 +0000 UTC 是否可以编写更短的 IF 查询? 772 if input_user_level == 1: user_level = words_easy elif input_user_level == 2: user_level = words_medium elif input_user_level == 3: user_level = words_hard python 1 个回答 Voted Best Answer mrgervant 2024-07-29T03:04:42Z2024-07-29T03:04:42Z 字典选项的优点是,如果输入的值与任何键都不匹配,则能够获取默认值: level_dict = {1: words_easy, 2: words_medium, 3: words_hard} user_level = level_dict.get(input_user_level, words_medium) 单行格式: user_level = {1: words_easy, 2: words_medium, 3: words_hard}.get(input_user_level, words_medium) @CrazyElf的 list 选项的优点是集合的描述较短(需要事先验证输入的值,否则可能会发生错误IndexError: list index out of range): level_list = [words_easy, words_medium, words_hard] user_level = level_list[input_user_level - 1] 单行格式: user_level = [words_easy, words_medium, words_hard][input_user_level - 1] Python 3.10中出现的一种方法,运算符的match-case优点是能够在算法的分支中进一步编写不同的代码: match input_user_level: case 1: user_level = words_easy # код 1 case 2: user_level = words_medium # код 2 case 3: user_level = words_hard # код 3 case _: # Иное значение user_level = words_easy # код 4 其他方法之前已在本讨论中描述过。
字典选项的优点是,如果输入的值与任何键都不匹配,则能够获取默认值:
单行格式:
@CrazyElf的 list 选项的优点是集合的描述较短(需要事先验证输入的值,否则可能会发生错误
IndexError: list index out of range):单行格式:
Python 3.10中出现的一种方法,运算符的
match-case优点是能够在算法的分支中进一步编写不同的代码:其他方法之前已在本讨论中描述过。