gpt4 book ai didi

python - 如何解决此 python 代码中缺少 1 个必需的位置参数?

转载 作者:行者123 更新时间:2023-12-04 04:08:55 26 4
gpt4 key购买 nike

我正在测试这两个字符串字符是否是以下 python 代码的字符串排列,但我收到错误,我在代码之后附加了该错误。

from collections import Counter

str_1 = "driving"
str_2 = "drivign"

def check_permutation(str_1,str_2):
if len(str_1) != len(str_2):
return False
counter = Counter()
for c in str_1:
counter[c] += 1
for c in str_2:
if counter[c] == 0:
return False
counter[c] -= 1
return True
print(check_permutation((str_1, str_2)))

错误:
Traceback (most recent call last):
TypeError: check_permutation() missing 1 required positional argument: 'str_2'

如何解决此错误并在控制台中打印输出?

最佳答案

  • 我猜你的代码中有额外的括号,在你的输入 str_1str_2 中有轻微的缩进问题:
  • 此外,最好在靠近调用或使用它们的位置声明变量。
  • 您还可以改进命名变量。

  • 代码
    from collections import Counter


    def check_permutation(str_1, str_2):
    if len(str_1) != len(str_2):
    return False
    count_map = Counter()
    for char in str_1:
    count_map[char] += 1
    for char in str_2:
    if count_map[char] == 0:
    return False
    count_map[char] -= 1
    return True


    str_1 = "driving"
    str_2 = "drivign"

    print(check_permutation(str_1, str_2))

    输出
    True

    我想,以下代码可能是您要执行的操作:
    from collections import Counter


    def check_permutation(str_1, str_2):
    if len(str_1) != len(str_2):
    return False
    count_map_1 = Counter(str_1)
    count_map_2 = Counter(str_2)
    return count_map_2 == count_map_1


    str_1 = "driving"
    str_2 = "drivign"

    关于python - 如何解决此 python 代码中缺少 1 个必需的位置参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62077778/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com