一只萌萌小番薯
欢迎来到计算器。如果您是 Python 的初学者,我建议您阅读Python 文档,它们为理解 Python 提供了很好的资源。对于这个问题,你需要阅读https://docs.python.org/3/library/functions.html好的,让我们逐行分解代码。n = int(input())从 stdin 获取输入字符串,然后将其转换为int数据类型。然后存入变量ns = set(map(int, input().split()))接受一个输入,并在每个空白处拆分它。例如,如果输入是1 2 3,它将是一个列表[1, 2, 3]。然后,将列表的每个元素转换为 int 数据类型。然后,将列表转换为集合。然后将其存储到变量s中。for i in range(int(input())):从 0 迭代到输入的字符串并转换为 int 数据类型为i eval('s.{0}({1})'.format(*input().split()+['']))好的,这会有点棘手。首先,尝试了解 Python 格式,我建议您阅读https://pyformat.info/。总之,"string {0}, {2}, {1}".format("a", "b", "c")会给你一串"string a, c, b"。在这种情况下,格式将采用 2 个参数,因为string 中有{0}和,它来自语句。{1}'s.{0}({1})'*input().split()+['']Python 将input().split()首先执行,获取输入并将其拆分为列表。然后将该列表与另一个列表合并,即['']. 之后,将列表元素作为格式的参数展开。例如,如果您有输入remove 9它将调用这样的格式's.{0}({1})'.format("remove", "9", "")# will be's.remove(9)'"remove 9" -> ["remove", "9"] -> ["remove", "9", ""] -> "remove", "9", "" (as function argument)好吧,但这是+['']为了什么?对于只有一个单词的输入的格式化程序来说,这是一种技巧。例如's.{0}({1})'.format("pop", "")# will be's.pop()'Eval 函数接受一个参数,即字符串。它会将字符串作为 Python 代码执行。因此,eval("print(1)")将打印1到控制台。print(sum(s))打印集合的总和s我希望我解释得足够清楚