Hướng dẫn generate random name in python - tạo tên ngẫu nhiên trong python

Mô tả dự án

Hướng dẫn generate random name in python - tạo tên ngẫu nhiên trong python

Trình tạo tên ngẫu nhiên

Cài đặt

Kịch bản có sẵn trên PYPI. Để cài đặt với PIP:

sudo pip install names

Cách sử dụng

Tên có thể được sử dụng làm tiện ích dòng lệnh hoặc được nhập dưới dạng gói Python.

Sử dụng dòng lệnh

Để sử dụng tập lệnh từ dòng lệnh:

$ names
John Powell

Việc sử dụng gói Python

Dưới đây là ví dụ về tất cả các tính năng hiện tại:

>>> import names
>>> names.get_full_name()
u'Patricia Halford'
>>> names.get_full_name(gender='male')
u'Patrick Keating'
>>> names.get_first_name()
'Bernard'
>>> names.get_first_name(gender='female')
'Christina'
>>> names.get_last_name()
'Szczepanek'

Giấy phép

Dự án này được phát hành theo giấy phép MIT.

Dữ liệu trong các tệp sau là miền công cộng (có nguồn gốc từ dữ liệu điều tra dân số năm 1990):

  • dist.all.last

  • dist.female.first

  • dist.male.first

Thay đổi

0.3.0 (2013-05-14)

  • Đã sửa hỗ trợ Python 3

  • Các bài kiểm tra được cải thiện và các lỗi nhỏ đã cố định

0,2 (2013 / 02-17)

  • phát hành lần đầu

Đóng góp

Vui lòng gửi lỗi vào trình theo dõi vấn đề GitHub. Yêu cầu kéo được chào đón.

Hack và kéo yêu cầu

Vui lòng cố gắng tuân thủ PEP8 để đóng góp mã và đảm bảo rằng các thử nghiệm tiếp tục hoạt động.

Vui lòng bao gồm các bài kiểm tra mới với các yêu cầu kéo của bạn khi thích hợp.

Chạy các bài kiểm tra

Bạn sẽ cần TOX và phạm vi bảo hiểm được cài đặt để chạy các bài kiểm tra trên mã của bạn:

$ pip install tox coverage

Để chạy các bài kiểm tra và tạo báo cáo bảo hiểm:

$ ./runtests.sh

Đầu ra bảo hiểm sẽ trông tương tự như thế này:

_____________________ summary _____________________
py27: commands succeeded
py32: commands succeeded
py33: commands succeeded
pypy: commands succeeded
flake8: commands succeeded
congratulations :)
Name             Stmts   Miss Branch BrMiss  Cover
--------------------------------------------------
names/__init__      25      0      8      0   100%
names/main           4      0      0      0   100%
--------------------------------------------------
TOTAL               29      0      8      0   100%

Tải tập tin

Tải xuống tệp cho nền tảng của bạn. Nếu bạn không chắc chắn nên chọn cái nào, hãy tìm hiểu thêm về việc cài đặt các gói.

Phân phối nguồn

0

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi đang cố gắng tạo một danh sách các tên, với mỗi cái đều khác nhau. Đây là mã của tôi ngay bây giờ, nhưng tất cả những gì nó tạo ra nhiều trường hợp cùng tên.

import random

first_names=('John','Andy','Joe')
last_names=('Johnson','Smith','Williams')

full_name=random.choice(first_names)+" "+random.choice(last_names)

group=full_name*3

Ví dụ, điều này sẽ hiển thị như:

John Smith
John Smith
John Smith

Nhưng tôi muốn một cái gì đó như:

John Williams
Andy Johnson
Joe Johnson

Hướng dẫn generate random name in python - tạo tên ngẫu nhiên trong python

Suraj Rao

29.2k11 Huy hiệu vàng95 Huy hiệu bạc102 Huy hiệu đồng11 gold badges95 silver badges102 bronze badges

Đã hỏi ngày 1 tháng 12 năm 2016 lúc 22:44Dec 1, 2016 at 22:44

Hướng dẫn generate random name in python - tạo tên ngẫu nhiên trong python

Bạn chỉ đang sao chép chuỗi của bạn ở đây. Ngẫu nhiên chỉ xảy ra một lần.

Thay vào đó, hãy thực hiện điều đó trong sự hiểu biết của trình tạo và tham gia kết quả với không gian:

import random

first_names=('John','Andy','Joe')
last_names=('Johnson','Smith','Williams')

group=" ".join(random.choice(first_names)+" "+random.choice(last_names) for _ in range(3))


print(group)

outputs:

$ names
John Powell
0

Đã trả lời ngày 1 tháng 12 năm 2016 lúc 22:46Dec 1, 2016 at 22:46

Hướng dẫn generate random name in python - tạo tên ngẫu nhiên trong python

Điều này là do bạn đã tạo một tên và sau đó sao chép nó ba lần.

Nếu bạn muốn có ba tên khác nhau, thì hãy lặp qua thói quen lựa chọn của bạn ba lần:

$ names
John Powell
1

BTW, bạn có thực sự muốn nhóm trở thành tất cả các tên vừa được nối không?group to be all the names just concatenated?

Hướng dẫn generate random name in python - tạo tên ngẫu nhiên trong python

Đã trả lời ngày 1 tháng 12 năm 2016 lúc 22:46Dec 1, 2016 at 22:46

Hướng dẫn generate random name in python - tạo tên ngẫu nhiên trong python

Điều này là do bạn đã tạo một tên và sau đó sao chép nó ba lần.Prune

Nếu bạn muốn có ba tên khác nhau, thì hãy lặp qua thói quen lựa chọn của bạn ba lần:14 gold badges57 silver badges76 bronze badges

BTW, bạn có thực sự muốn nhóm trở thành tất cả các tên vừa được nối không?

$ names
John Powell
2

Pruneprune

$ names
John Powell
3

75,9K14 Huy hiệu vàng57 Huy hiệu bạc76 Huy hiệu đồngDec 1, 2016 at 23:12

Vì đầu ra nằm trên một dòng với các khoảng trắng phân tách từng tên, bạn có thể đơn giản hóa mã và lưu trữ mọi tên trong một danh sách, mặc dù bạn nối các tên trong mẫu "Tên" "Tên cuối cùng". Từ đó bạn có thể in 6 tên ở cuối tất cả được tách biệt bởi một không gian, cho bạn ba tên đầy đủ. Trong tất cả, hàm 'ngẫu nhiên.choice ()' sẽ cần được gọi là 6 lần.

đầu ra

$ names
John Powell
4

Đã trả lời ngày 1 tháng 12 năm 2016 lúc 23:12

Đã trả lời ngày 1 tháng 12 năm 2016 lúc 22:46Dec 1, 2016 at 22:46

Hướng dẫn generate random name in python - tạo tên ngẫu nhiên trong python

Những gì bạn đã làm là sử dụng

$ names
John Powell
9 trên một chuỗi có nghĩa là nó sẽ sao chép chuỗi đó ba lần.Rok Povsic

Để làm những gì bạn muốn, bạn phải gọi

>>> import names
>>> names.get_full_name()
u'Patricia Halford'
>>> names.get_full_name(gender='male')
u'Patrick Keating'
>>> names.get_first_name()
'Bernard'
>>> names.get_first_name(gender='female')
'Christina'
>>> names.get_last_name()
'Szczepanek'
0 để biết tên và họ ba lần.5 gold badges36 silver badges49 bronze badges

Bạn cũng có thể làm điều đó trong vòng lặp

>>> import names
>>> names.get_full_name()
u'Patricia Halford'
>>> names.get_full_name(gender='male')
u'Patrick Keating'
>>> names.get_first_name()
'Bernard'
>>> names.get_first_name(gender='female')
'Christina'
>>> names.get_last_name()
'Szczepanek'
1 để không sao chép mã.

$ names
John Powell
5

ROK POVSICROK POVSICDec 1, 2016 at 22:47

Hướng dẫn generate random name in python - tạo tên ngẫu nhiên trong python

4.4365 Huy hiệu vàng36 Huy hiệu bạc49 Huy hiệu đồngHaifeng Zhang

Bạn cần gọi

>>> import names
>>> names.get_full_name()
u'Patricia Halford'
>>> names.get_full_name(gender='male')
u'Patrick Keating'
>>> names.get_first_name()
'Bernard'
>>> names.get_first_name(gender='female')
'Christina'
>>> names.get_last_name()
'Szczepanek'
2 3 lần ngoài việc gọi một lần và in cùng một tên fullname 3 lần19 gold badges74 silver badges119 bronze badges

Đã trả lời ngày 1 tháng 12 năm 2016 lúc 22:47

$ names
John Powell
6

Haifeng Zhanghaifeng ZhangDec 1, 2016 at 22:53

Hướng dẫn generate random name in python - tạo tên ngẫu nhiên trong python

28.4K19 Huy hiệu vàng74 Huy hiệu bạc119 Huy hiệu đồngMaurice Meyer

... chỉ ngắn hơn.3 gold badges25 silver badges44 bronze badges

Đã trả lời ngày 1 tháng 12 năm 2016 lúc 22:53

$ names
John Powell
7

Maurice Meyermaurice MeyerMay 31, 2021 at 21:10

15.9k3 Huy hiệu vàng25 Huy hiệu bạc44 Huy hiệu đồng

Bạn có thể đặt phần chính vào một hàm có bản in trong đó và sau đó gọi hàm 3 lần.

$ names
John Powell
8

Đã trả lời ngày 31 tháng 5 năm 2021 lúc 21:10Dec 19, 2021 at 17:20

Làm thế nào để bạn tạo một cái tên trong Python?

Tên biến Python..
Một tên biến phải bắt đầu bằng một chữ cái hoặc ký tự dấu gạch dưới ..
Một tên biến không thể bắt đầu với một số ..
Một tên biến chỉ có thể chứa các ký tự alpha-numeric và nhấn mạnh (A-Z, 0-9 và _).
Tên biến là nhạy cảm trường hợp (tuổi, tuổi và tuổi là ba biến khác nhau).

Làm cách nào để chọn ngẫu nhiên tên từ một danh sách?

1. Chọn ô này và nhấn phím F9, bạn sẽ nhận được các tên khác nhau một cách ngẫu nhiên.2. Bạn cũng có thể chọn ô và kéo tay cầm điền xuống để liệt kê các tên ngẫu nhiên bạn cần, nhưng bạn sẽ nhận được tên trùng lặp với công thức này.Select this cell and press F9 key, you will get different names randomly. 2. You can also select the cell and drag the fill handle down to list the random names you need, but you will get duplicate names with this formula.