首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中停留在一个时间循环上

在python中停留在一个时间循环上
EN

Stack Overflow用户
提问于 2022-08-02 23:51:40
回答 1查看 58关注 0票数 0

所以,这段代码应该会产生你想要的大量假身份,但它从来没有!!

例如,当我请求10个身份时,我只得到两个,或者有时候只有一个,然后它就停止了,我的意思是代码仍然在运行,但是它不会产生更多的身份,它只是冻结。

注意:我试着在不止一台计算机上运行代码,每次都会发生相同的事情。

守则:

代码语言:javascript
复制
import random
from lists import name_m, name_f, month, cars_m, to_cars, fo_cars, ho_cars

choice = input('info or {pro}gram: ')
if choice == 'pro':
    gl = 0
    fr_name = ''
    l_name = ''
    gl1 = int(input('number of people:'))
    names_l = input('(M)ale , (F)emale :')
    while gl < gl1:
        if names_l.upper() == 'M':
            fr_name = random.choice(name_m)
            l_name = random.choice(name_m)
            while l_name == fr_name:
                fr_name = random.choice(name_m)
        elif names_l.upper() == 'F':
            fr_name = random.choice(name_f)
            l_name = random.choice(name_m)
            while l_name == fr_name:
                fr_name = random.choice(name_f)
        ph_num = random.sample('0123456789', 8)
        bi_y = random.randint(1960, 2017)
        bi_m = random.choice(month)
        bi_d = random.randint(1, 28)
        ex = random.randint(0, 40)
        age = 2020 - bi_y
        while age - 25 < ex:
            ex = random.randint(0, 40)
        yr = 'years'
        if ex == 1:
            yr = 'year'
        car_co = random.choice(cars_m)
        car_mo = ''
        if car_co == 'Ford':
            car_mo = random.choice(fo_cars)
        elif car_co == 'Toyota':
            car_mo = random.choice(to_cars)
        elif car_co == 'Honda':
            car_mo = random.choice(ho_cars)

        ph_nu = f'{ph_num[0]}{ph_num[1]}{ph_num[2]}{ph_num[3]}{ph_num[4]}{ph_num[5]}{ph_num[6]}{ph_num[7]}'
        email = random.choice(['gmail', 'hotmail', 'outlook'])
        cho = random.sample('bcdfghjklmnpqrstvwxyz', 5)
        cho_v = random.sample('aieuo', 5)
        cho_n = random.sample('bcdfghjklmnpqrstvwxyz1234567890', 4)
        ch = f'''{cho_n[0]}{cho_n[2]}{cho[0]}{cho_v[0]}{cho[1]}{cho_v[1]}{cho[2]}{cho_v[2]}{cho[3]}{cho_v[3]}{cho[4]}{cho_v[4]}{cho_n[2]}{cho_n[3]}'''
        nu = random.randint(5, 12)
        car = f'{car_co} {car_mo}'

        print(f'''
                    Name: {fr_name} {l_name}
                    Birthdate: {bi_y} {bi_m} {bi_d}
                    Phone number: 05{ph_nu}
                    Email: {ch[0:nu]}@{email}.com
                    Experience: {ex} {yr}
                    Car: {car}''')
        gl += 1
elif choice == 'info':
    print(f'Number of male names: {len(name_m)}')
    print(f'number of female names: {len(name_f)}')
    print(f'Total: {len(name_f + name_m)}')
EN

回答 1

Stack Overflow用户

发布于 2022-08-03 00:10:10

bi_y >= 1995结束时,您将使用age - 25 < 0,这样您的while循环就不会退出,因为ex不能是< 0

bi_y = random.randint(1960, 2017)更改为bi_y = random.randint(1960, 1995)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73214894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档