Python:定义自己的函数,称为;“随机呼叫”;

Python:定义自己的函数,称为;“随机呼叫”;,python,function,for-loop,random,phonebook,Python,Function,For Loop,Random,Phonebook,所以我被困在一个我必须解决的问题上,想知道你们是否能在我的情况下帮助我(我对python和编程本身都是新手)。因此,我的任务是,定义一个自己的新函数,从一个名为“电话簿”的字典中随机挑选出一些人,然后打印出来假装给他们打电话。类似于“随机呼叫(电话簿,10)然后打印:打1800650给彼得,其他9个 def randomcall(phonebook, number): import random for name in range(phonebook):

所以我被困在一个我必须解决的问题上,想知道你们是否能在我的情况下帮助我(我对python和编程本身都是新手)。因此,我的任务是,定义一个自己的新函数,从一个名为“电话簿”的字典中随机挑选出一些人,然后打印出来假装给他们打电话。类似于“随机呼叫(电话簿,10)然后打印:打1800650给彼得,其他9个

def randomcall(phonebook, number):
    import random
    
    for name in range(phonebook):
        name = random.choice(list(phonebook))
        phonebook = phonebook[name]
        print(f"Let's call {name} with {phonebook}")

phonebook = {"martin": 12345, "anna": 65478, "klaus": 5468764, "hans": 748463, "peter": 84698416, "ulrich": 3416846546, "frank": 4789749, "lukas": 798469, "ferdinand": 68465131}

randomcall(phonebook, 3)

randomcall("", 5)

您可以这样做,
number
将是呼叫人数的范围

import random

def randomcall(phonebook,number):

    for _ in range(number):
        name = random.choice(list(phonebook.keys()))
        print(f'Lets call {name} with {phonebook[name]}')



phonebook = {"martin":12345,"anna":65478,"klaus":5468764,"hans":748463,"peter":84698416,"ulrich":3416846546,"frank":4789749,"lukas":798469,"ferdinand":68465131}

randomcall(phonebook,3)
输出:

Lets call lukas with 798469
Lets call peter with 84698416
Lets call klaus with 5468764

您可以这样做,
number
将是呼叫人数的范围

import random

def randomcall(phonebook,number):

    for _ in range(number):
        name = random.choice(list(phonebook.keys()))
        print(f'Lets call {name} with {phonebook[name]}')



phonebook = {"martin":12345,"anna":65478,"klaus":5468764,"hans":748463,"peter":84698416,"ulrich":3416846546,"frank":4789749,"lukas":798469,"ferdinand":68465131}

randomcall(phonebook,3)
输出:

Lets call lukas with 798469
Lets call peter with 84698416
Lets call klaus with 5468764

您的代码是正确的,除了几个小错误:

  • 如上所述,您不能对范围内的姓名(电话簿)使用
    因为
    电话簿
    不是您需要迭代的整数次。
    数字
    是。而且变量
    名称
    在迭代中没有被引用;它被分配了一个新值。因此可以将其更改为另一个变量,如
    i
    ,这在迭代中更常用
  • 在您的代码中,要呼叫的电话号码存储在变量
    phonebook
    下,该变量是电话簿字典的变量。这使得无法再次访问实际的电话簿。可以在那里使用另一个变量,如
    phone
  • 因此,完成的代码应该如下所示:

    def随机呼叫(电话簿、号码):
    随机输入
    对于范围内的名称(编号):
    name=random.choice(列表(电话簿))
    电话簿=电话簿[姓名]
    打印(f“让我们用{phonebook}调用{name}”)
    电话簿={“马丁”:12345,“安娜”:65478,“克劳斯”:5468764,“汉斯”:748463,“彼得”:84698416,“乌尔里希”:3416846546,“弗兰克”:4789749,“卢卡斯”:798469,“费迪南德”:68465131}
    随机呼叫(电话簿,3)
    
    输出:

    我们打65478给安娜
    我们打电话给克劳斯,电话号码是5468764
    我们打748463给汉斯
    

    此外,如中所述,行
    randomcall(“,5”)
    用于随机呼叫。实际上,电话簿必须作为
    phonebook
    参数传递给函数,如果
    1
    传递给
    number
    参数,它会生成一个随机呼叫。

    您的代码是正确的,除了几个小错误:

  • 如上所述,您不能对范围内的姓名(电话簿)使用
    因为
    电话簿
    不是您需要迭代的整数次。
    数字
    是。而且变量
    名称
    在迭代中没有被引用;它被分配了一个新值。因此可以将其更改为另一个变量,如
    i
    ,这在迭代中更常用
  • 在您的代码中,要呼叫的电话号码存储在变量
    phonebook
    下,该变量是电话簿字典的变量。这使得无法再次访问实际的电话簿。可以在那里使用另一个变量,如
    phone
  • 因此,完成的代码应该如下所示:

    def随机呼叫(电话簿、号码):
    随机输入
    对于范围内的名称(编号):
    name=random.choice(列表(电话簿))
    电话簿=电话簿[姓名]
    打印(f“让我们用{phonebook}调用{name}”)
    电话簿={“马丁”:12345,“安娜”:65478,“克劳斯”:5468764,“汉斯”:748463,“彼得”:84698416,“乌尔里希”:3416846546,“弗兰克”:4789749,“卢卡斯”:798469,“费迪南德”:68465131}
    随机呼叫(电话簿,3)
    
    输出:

    我们打65478给安娜
    我们打电话给克劳斯,电话号码是5468764
    我们打748463给汉斯
    

    另外,如中所述,行
    randomcall(“,5)
    用于调用随机人。实际上,电话簿必须作为
    phonebook
    参数传递给函数,如果
    1
    传递给
    number
    参数,它会生成一个随机呼叫。

    我想你的意思是
    范围内的I(number)
    而不是
    用于范围内的姓名(电话簿)
    ,因为
    姓名
    稍后使用,不需要将其作为迭代变量,而
    电话簿
    是字典,而不是您正在呼叫的人的#。另外,
    随机呼叫(“,5)”是什么
    mean?你是想打电话给那里的任何人吗?你是对的,随机呼叫(“,5)是没有必要的,它是试图打电话给一个随机的人,但这不是它的工作方式。好的。谢谢你的澄清。
    randomcall(“,5)
    中的示例
    5
    是否意味着要打多少人?我想你的意思是
    对于范围内的我(数字)
    而不是
    用于范围内的姓名(电话簿)
    ,因为
    姓名
    稍后使用,不需要将其作为迭代变量,而
    电话簿
    是字典,而不是您正在呼叫的人的#。另外,
    随机呼叫(“,5)”是什么
    mean?你是想打电话给那里的任何人吗?你是对的,随机呼叫(“,5)是没有必要的,它是尝试打电话给一个随机的人,但这不是怎么回事。好的。谢谢你的澄清。
    randomcall(“,5)
    中的示例
    5
    是否意味着要打多少人?