>source

그래서 나는 내가 해결해야 할 특정 문제에 갇혀 있고 너희들이 내 상황에서 나를 도울 수 있는지 궁금해하고 있었다 (나는 파이썬과 프로그래밍에 정말 익숙하지 않다). 그래서 내가 얻은 작업은 "전화 번호부"라는 임의의 사람을 사전에서 골라 내고 그들을 호출하는 척 인쇄하는 새로운 함수를 정의하는 것입니다. "randomcall (phonebook, 10)"과 같이 인쇄하면 1800650으로 Peter에게 전화하고 다른 9 명이 인쇄됩니다.

   import random
    
    for name in range(phonebook):
        name = random.choice(list(phonebook))
        phonebook = phonebook[name]
        print(f'Lets 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)```

  • 답변 # 1

    몇 가지 작은 실수를 제외하고 코드가 정확합니다.

    위의 내 의견에서 말했듯이 for name in range(phonebook) 때문에 phonebook 반복해야하는 정수 횟수가 아닙니다. number 이다. 또한 변수 name 반복에서 참조되지 않습니다. 새 값이 할당되었습니다. 따라서 다음과 같이 다른 변수로 변경할 수 있습니다. i , 반복에서 더 일반적으로 사용됩니다.

    전화 할 사람의 번호는 코드에서 변수 아래에 저장됩니다. phonebook , 전화 번호부 사전의 변수입니다. 실제 전화 번호부에 다시 ​​액세스 할 수 없게됩니다. 다음과 같은 또 다른 변수 phone , 거기에서 사용할 수 있습니다.

    따라서 완성 된 코드는 다음과 같아야합니다.

    def randomcall(phonebook, number):
        import random
        for name in range(number):
            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)
    
    

    산출:

    Let's call anna with 65478
    Let's call klaus with 5468764
    Let's call hans with 748463
    
    

    또한이 주석에서 언급했듯이 randomcall("", 5) 임의의 사람에게 전화하는 데 사용됩니다. 실제로 전화 번호부는 함수에 전달되어야합니다. phonebook 매개 변수 및 1 전달됩니다 number 매개 변수, 1 개의 임의 호출을 생성합니다.

  • 답변 # 2

    당신은 이것을 할 수 있습니다. 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
    
    

관련 자료

  • 이전 Sklearn 라이브러리를 사용하여 Lasso Regression으로 원하는 출력을 얻을 수 없습니다
  • 다음 javascript - 이름 필드에 중복 값이있는 경우 구조를 형성하고 플래그 값을 업데이트 할 수 없습니다