import string
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
import random
from random import randint
Number_of_emailname_letters = randint(3,10)
Number_of_emailDomain_letters = randint(5,15)
Email_name = 'pt1'
Email_Domain = 'ptd1'
def Email_name():
if Number_of_emailname_letters == 3:
Email_name = pt1, pt2, pt3
elif Number_of_emailname_letters == 4:
Email_name = pt1, pt2, pt3, pt4
elif Number_of_emailname_letters == 5:
Email_name = pt1, pt2, pt3, pt4, pt5
elif Number_of_emailname_letters == 6:
Email_name = pt1, pt2, pt3, pt4, pt5, pt6
elif Number_of_emailname_letters == 7:
Email_name = pt1,pt2, pt3, pt4, pt5,pt6, pt7
elif Number_of_emailname_letters == 8:
Email_name = pt1, pt2, pt3, pt4, pt5, pt6, pt7, pt8
elif Number_of_emailname_letters == 9:
Email_name = pt1, pt2, pt3, pt4, pt5, pt6, pt7, pt8, pt9,
elif Number_of_emailname_letters == 10:
Email_name = pt1, pt2, pt3, pt4, pt5, pt6, pt7, pt8, pt9, pt10
def Email_Domain():
if Number_of_emailDomain_letters == 5:
Email_Domain = ptd1, ptd2, ptd3, ptd4, ptd5
elif Number_of_emailDomain_letters == 6:
Email_Domain = ptd1, ptd2, ptd3, ptd4, ptd5, ptd6
elif Number_of_emailDomain_letters == 7:
Email_Domain = ptd1, ptd2, ptd3, ptd4, ptd5, ptd6, ptd7
elif Number_of_emailDomain_letters == 8:
Email_Domain = ptd1, ptd2, ptd3, ptd4, ptd5, ptd6, ptd7, ptd8
elif Number_of_emailDomain_letters == 9:
Email_Domain = ptd1, ptd2, ptd3, ptd4, ptd5, ptd6, ptd7, ptd8, ptd9
elif Number_of_emailDomain_letters == 10:
Email_Domain = ptd1, ptd2, ptd3, ptd4, ptd5, ptd6, ptd7, ptd8, ptd9, ptd10
elif Number_of_emailDomain_letters == 11:
Email_Domain = ptd1, ptd2, ptd3, ptd4, ptd5, ptd6, ptd7, ptd8, ptd9, ptd10, ptd11
elif Number_of_emailDomain_letters == 12:
Email_Domain = ptd1, ptd2, ptd3, ptd4, ptd5, ptd6, ptd7, ptd8, ptd9, ptd10, ptd11, ptd12
elif Number_of_emailDomain_letters == 13:
Email_Domain = ptd1, ptd2, ptd3, ptd4, ptd5, ptd6, ptd7, ptd8, ptd9, ptd10, ptd11, ptd12, ptd13
elif Number_of_emailDomain_letters == 14:
Email_Domain = ptd1, ptd2, ptd3, ptd4, ptd5, ptd6, ptd7, ptd8, ptd9, ptd10, ptd11, ptd12, ptd13, ptd14
elif Number_of_emailDomain_letters == 15:
Email_Domain = ptd1, ptd2, ptd3, ptd4, ptd5, ptd6, ptd7, ptd8, ptd9, ptd10, ptd11, ptd12, ptd13, ptd14, ptd15
# Email name generator
pt1 = random.choice(string.ascii_letters)
pt2 = random.choice(string.ascii_letters)
pt3 = random.choice(string.ascii_letters)
pt4 = random.choice(string.ascii_letters)
pt5 = random.choice(string.ascii_letters)
pt6 = random.choice(string.ascii_letters)
pt7 = random.choice(string.ascii_letters)
pt8 = random.choice(string.ascii_letters)
pt9 = random.choice(string.ascii_letters)
pt10 = random.choice(string.ascii_letters)
Email_name()
# Email Domain generator
ptd1 = random.choice(string.ascii_letters)
ptd2 = random.choice(string.ascii_letters)
ptd3 = random.choice(string.ascii_letters)
ptd4 = random.choice(string.ascii_letters)
ptd5 = random.choice(string.ascii_letters)
ptd6 = random.choice(string.ascii_letters)
ptd7 = random.choice(string.ascii_letters)
ptd8 = random.choice(string.ascii_letters)
ptd9 = random.choice(string.ascii_letters)
ptd10 = random.choice(string.ascii_letters)
ptd11 = random.choice(string.ascii_letters)
ptd12 = random.choice(string.ascii_letters)
ptd13 = random.choice(string.ascii_letters)
ptd14 = random.choice(string.ascii_letters)
ptd15 = random.choice(string.ascii_letters)
Email_Domain()
print(Email_name,"@",Email_Domain, ".com")
所以,這是我創建隨機電子郵件并輸出它的代碼。我無法以某種干凈的方式將其全部輸出。我嘗試將變數設定為函式,但這并沒有讓我得到我想要的。我想要發生的是獲得類似的輸出
[email protected]
,但我無法獲得。我得到的是
<function Email_name at 0x7f53299c7130> @ <function Email_Domain at 0x7f5329861900> .com
,我嘗試將變數設定為函式,但后來我得到了類似的東西
'a, S, V, i'
'G, h, k, L,I, t'
none @ none .com
我怎樣才能得到我想要得到的東西?
uj5u.com熱心網友回復:
您的問題是函式沒有回傳任何值:
我已經將您的代碼修復到您開始看到您可能希望看到的輸出的地步:
import string
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
import random
from random import randint
Number_of_emailname_letters = randint(3,10)
Number_of_emailDomain_letters = randint(5,15)
Email_name = 'pt1'
Email_Domain = 'ptd1'
def Email_name():
if Number_of_emailname_letters == 3:
Email_name = pt1, pt2, pt3
elif Number_of_emailname_letters == 4:
Email_name = pt1, pt2, pt3, pt4
elif Number_of_emailname_letters == 5:
Email_name = pt1, pt2, pt3, pt4, pt5
elif Number_of_emailname_letters == 6:
Email_name = pt1, pt2, pt3, pt4, pt5, pt6
elif Number_of_emailname_letters == 7:
Email_name = pt1,pt2, pt3, pt4, pt5,pt6, pt7
elif Number_of_emailname_letters == 8:
Email_name = pt1, pt2, pt3, pt4, pt5, pt6, pt7, pt8
elif Number_of_emailname_letters == 9:
Email_name = pt1, pt2, pt3, pt4, pt5, pt6, pt7, pt8, pt9,
elif Number_of_emailname_letters == 10:
Email_name = pt1, pt2, pt3, pt4, pt5, pt6, pt7, pt8, pt9, pt10
return Email_name
def Email_Domain():
if Number_of_emailDomain_letters == 5:
Email_Domain = ptd1, ptd2, ptd3, ptd4, ptd5
elif Number_of_emailDomain_letters == 6:
Email_Domain = ptd1, ptd2, ptd3, ptd4, ptd5, ptd6
elif Number_of_emailDomain_letters == 7:
Email_Domain = ptd1, ptd2, ptd3, ptd4, ptd5, ptd6, ptd7
elif Number_of_emailDomain_letters == 8:
Email_Domain = ptd1, ptd2, ptd3, ptd4, ptd5, ptd6, ptd7, ptd8
elif Number_of_emailDomain_letters == 9:
Email_Domain = ptd1, ptd2, ptd3, ptd4, ptd5, ptd6, ptd7, ptd8, ptd9
elif Number_of_emailDomain_letters == 10:
Email_Domain = ptd1, ptd2, ptd3, ptd4, ptd5, ptd6, ptd7, ptd8, ptd9, ptd10
elif Number_of_emailDomain_letters == 11:
Email_Domain = ptd1, ptd2, ptd3, ptd4, ptd5, ptd6, ptd7, ptd8, ptd9, ptd10, ptd11
elif Number_of_emailDomain_letters == 12:
Email_Domain = ptd1, ptd2, ptd3, ptd4, ptd5, ptd6, ptd7, ptd8, ptd9, ptd10, ptd11, ptd12
elif Number_of_emailDomain_letters == 13:
Email_Domain = ptd1, ptd2, ptd3, ptd4, ptd5, ptd6, ptd7, ptd8, ptd9, ptd10, ptd11, ptd12, ptd13
elif Number_of_emailDomain_letters == 14:
Email_Domain = ptd1, ptd2, ptd3, ptd4, ptd5, ptd6, ptd7, ptd8, ptd9, ptd10, ptd11, ptd12, ptd13, ptd14
elif Number_of_emailDomain_letters == 15:
Email_Domain = ptd1, ptd2, ptd3, ptd4, ptd5, ptd6, ptd7, ptd8, ptd9, ptd10, ptd11, ptd12, ptd13, ptd14, ptd15
return Email_Domain
# Email name generator
pt1 = random.choice(string.ascii_letters)
pt2 = random.choice(string.ascii_letters)
pt3 = random.choice(string.ascii_letters)
pt4 = random.choice(string.ascii_letters)
pt5 = random.choice(string.ascii_letters)
pt6 = random.choice(string.ascii_letters)
pt7 = random.choice(string.ascii_letters)
pt8 = random.choice(string.ascii_letters)
pt9 = random.choice(string.ascii_letters)
pt10 = random.choice(string.ascii_letters)
Email_name()
# Email Domain generator
ptd1 = random.choice(string.ascii_letters)
ptd2 = random.choice(string.ascii_letters)
ptd3 = random.choice(string.ascii_letters)
ptd4 = random.choice(string.ascii_letters)
ptd5 = random.choice(string.ascii_letters)
ptd6 = random.choice(string.ascii_letters)
ptd7 = random.choice(string.ascii_letters)
ptd8 = random.choice(string.ascii_letters)
ptd9 = random.choice(string.ascii_letters)
ptd10 = random.choice(string.ascii_letters)
ptd11 = random.choice(string.ascii_letters)
ptd12 = random.choice(string.ascii_letters)
ptd13 = random.choice(string.ascii_letters)
ptd14 = random.choice(string.ascii_letters)
ptd15 = random.choice(string.ascii_letters)
Email_Domain()
name = Email_name()
domain = Email_Domain()
print(name,"@", domain, ".com")
產生:
python .\SO74380065.py
('w', 'y', 'Q', 'H', 'q', 's', 'n', 'm') @ ('m', 'r', 'P', 'e', 'r', 'E', 'c', 'x', 'k') .com
您的下一步是將每個元組項連接成一個字串:
將最后一行更改為:
print(''.join(name),"@", ''.join(domain), ".com")
生產
wMg @ jgsSFHFfSLJu .com
最后,要獲取單個字串電子郵件地址,請將最后一行更改為:
將最后一行更改為:
finaltuple=(''.join(name), "@", ''.join(domain), ".com")
print(''.join(finaltuple))
生產
[email protected]
希望有幫助!
uj5u.com熱心網友回復:
我認為您在這里缺少一些概念。我強烈建議您獲取一個介紹性文本,它可以解決很多問題。
這本書是免費的,并且很好地涵蓋了基本主題:
想想 Python
我推薦第 3 章關于函式的內容。還有其他一切。:)
關于你上面的具體問題,你應該撰寫你的函式來接受輸入(而不是依賴于全域變數),如果你想在函式之外捕獲它,它需要回傳一個值。然后,您將需要“外部”上的一些變數來捕獲函式回傳的內容。這是一個“富有成效的功能”,因為它回傳了一些值。
所以你想要做的“輸入”或引數是字母的數量。輸出是生成的單詞。這樣就設定了功能。每當您連續分配一堆變數時,您都應該考慮制作某種回圈。(書中也有!;))
這是一個想法:
from random import choice
def name_maker(num_chars):
letters = list('abcdefg')
# an empty list to hold the selected characters:
name_as_list = []
# make a little loop to add randomly selected characters
for i in range(num_chars):
letter = choice(letters)
name_as_list.append(letter)
# join the list into a string...
result = ''.join(name_as_list)
# return the value from the function
return result
my_name = name_maker(9)
print(my_name)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/532115.html
標籤:python-3.x功能
上一篇:初學者努力理解匿名函式
