Generowanie nr telefonów

0

Cześć wszystkim, parę dni temu wymyśliłem sobie, że wygeneruje sobie telefony, żeby później poćwiczyć SQL'a. Sądziłem, że to będzie banalne, natomiast posiedziałem nad tym trochę i jedyne na co wpadłem to kod, który wrzucam poniżej. Natomiast obstawiam, że da się to zrobić 10x prościej, tylko totalnie nie mam pomysłu jak. Ktoś coś? :) Z góry dzięki za odpowiedź

import random
def number_generator():
    first_3 = str(random.randint(600,899))
    second_3 = str(random.randint(1,999))
    if int(second_3) < 10:
        second_3 = '00' + second_3
    elif int(second_3) < 100:
        second_3 = '0' + second_3
    last_3 = str(random.randint(100,999))
    if int(last_3) < 10:
        last_3 = '00' + last_3
    elif int(last_3) < 100:
        last_3 = '0' + last_3
    phone_number = first_3 + second_3 + last_3
    return phone_number
phone_numbers = [number_generator() for y in range(1,9)]
5
def number_generator():
    return random.randint(600000000, 899999999)

Jeśli chcesz z tego zakresu

1

@Dzikiwąż: Nie analizuję logiki, zapewne testowałeś na wszystkie "corner casy", ale z "dizajnerskiego" punktu widzenia, mógłbyś zamknąć całe generowanie numerów w funkcji, tak, aby klient pisał tylko:

numbers = number_generator(#unique_numbers)

Jeśli chcesz, żeby numery były różne.

EDYCJA: Internet też ma coś do dodania:
https://duckduckgo.com/?q=gen[...]+python&t=ffab&ia=web

0

@lion137:
Możesz rozwinąć myśl?

numbers = number_generator(#unique_numbers)

No z logiką tutaj widać, że popłynąłem, co do internetu i tego co ma do powiedzenia, to widziałem PhoneNumbers, natomiast chciałem sobie sam poradzić z tym. I poradziłem ale w absurdalnie głupi sposób.
No trochę mi głupio, ale przynajmniej zapamiętam to na długo.</p>
0

Hehe, mnie też można wyśmiać, bo tego nie zauważyłem :). Ale, do rzeczy, chodzi o to, żeby klient nie musiał się silić na "list comprehension", aby wywołać Twoją funkcję, tylko mógł napisać, coś "ala" opisałem w poście.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0