python取名器

基于random库制作取名器

(准备两个文本文件,一个存放姓氏,一个存放取名用字,里面每个字用","隔开)

1.随机生成10个二字名。

import random

with open("取名.txt", "r", encoding="utf8") as file:
    firstname = file.read().split(",")
for i in range(1, 11):
    f1 = random.choice(firstname)
    f2 = random.choice(firstname)
    print(f1, f2)

2.随机生成10个姓名。

import random

with open("姓氏.txt", "r", encoding="utf8") as file:
    lastname = file.read().split(",")
with open("取名.txt", "r", encoding="utf8") as file:
    firstname = file.read().split(",")
for i in range(1, 11):
    ln = random.choice(lastname)
    f1 = random.choice(firstname)
    f2 = random.choice(firstname)
    print(ln, f1, f2)

3.指定姓氏和生成的数量,随机生成姓名。

import random

ln = str(input("请输入姓氏:"))
n = int(input("生成数量:"))
with open("取名.txt", "r", encoding="utf8") as file:
    firstname = file.read().split(",")
for i in range(1, n + 1):
    f1 = random.choice(firstname)
    f2 = random.choice(firstname)
    print(ln, f1, f2)

使用PySimpleGUI做一个简易界面。

import random
import PySimpleGUI as Sg

layout = [[Sg.Text(' ')],
          [Sg.Text('请输入姓氏:'), Sg.InputText(key='ln', size=15)],
          [Sg.Text('   生成数量:'), Sg.InputText(key='n', size=15)],
          [Sg.Text(' ', size=18), Sg.Button('生成')]]
window = Sg.Window('取名器', layout, font='微软雅黑') 

while True:
    event, values = window.read()
    if event is None:
        break
    if event == '生成':
        ln = values['ln']
        n = int(values['n'])
        name_list = []
        with open("取名.txt", "r", encoding="utf8") as file:
            firstname = file.read().split(",")
            for i in range(1, n + 1):
                f1 = random.choice(firstname)
                f2 = random.choice(firstname)
                name = ln + f1 + f2
                name_list.append(name)
        Sg.popup(name_list, title="取名结果", font=("微软雅黑", 12))

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值