关于python:python示例代码个人整理

66次阅读

共计 4060 个字符,预计需要花费 11 分钟才能阅读完成。

python 示例代码集体整顿

1。四位數字字母驗證码的生成實例

復製代码
1 import random
2 if name ==”__main__”: #四位數字字母驗證码的生成
3 checkcode=”” #保留驗證码的變量
4 for i in range(4):
5 index=random.randrange(0,4) #生成一個 0~3 中的數
6 if index!=i and index +1 !=i:
7 checkcode +=chr(random.randint(97,122)) # 生成 a~z 中的一個小寫字母
8 elif index +1==i:
9 checkcode +=chr(random.randint(65,90) ) # 生成 A~Z 中的一個大寫字母
10 else:
11 checkcode +=str(random.randint(1,9)) # 數字 1 -9
12 print(checkcode)
復製代码
輸出爲:m47A、8wQ9、vugS


2。格式化時間函數

1 def formatTime(longtime):
2 ”’ 格式化時間的函數 ”’
3 import time

4 return time.strftime(“%Y-%m-%d %H:%M:%S”,time.localtime(longtime))

3。記錄顯示登錄日誌實例

復製代码
import time
def show_info():

print(''' 輸入提醒數字,執行相應操作

0:退出
1:查看登錄日誌

''')

def write_loginfo(username):

"""
將用戶名和登錄時間寫入日誌
:param username: 用戶名
"""with open('log.txt','a') as f:
    string = "用戶名:{} 登錄時間:{}\n".format(username ,time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
    f.write(string)

def read_loginfo():

"""讀取日誌"""
with open('log.txt','r') as f:
    while True:
        line = f.readline()
        if line == '':
            break  # 跳出循環
        print(line)  # 輸出一行内容

if name == “__main__”:

# 輸入用戶名
username = input('請輸入用戶名:')
# 檢測用戶名
while len(username) < 2 :
    print('用戶名長度應不少於 2 位')
    username = input('請輸入用戶名:')
# 輸入明码
password = input('請輸入明码:')
# 檢測明码
while len(passw ord) < 6 :
    print('明码長度應不少於 6 位')
    password = input('請輸入明码:')
print('登錄胜利')
write_loginfo(username)  # 寫入日誌
show_info()              # 提示信息
num = int(input('輸入操作數字:')) # 輸入數字
while True:
    if num == 0:
        print('退出胜利')
        break
    elif num == 1:
        print('查看登錄日誌')
        read_loginfo()
        show_info()
        num = int(input('輸入操作數字:'))
    else:
        print('您輸入的數字有誤')
        show_info()
        num = int(input('輸入操作數字:'))

3。模擬淘寶客服自動回復
復製代码
1 # 任務 2:模擬淘寶客服自動回復
2
3 def find_answer(question):
4 with open(‘reply.txt’,’r’) as f :
5 while True:
6 line=f.readline()
7 if not line: #也能够爲 if line==”
8 break
9 keyword=line.split(‘|’)[0]
10 reply=line.split(‘|’)[1]
11 if keyword in question:
12 return reply
13 return ‘ 對不起,沒有妳想要找的問題 ’
14
15 if name ==’__main__’:
16 question=input(‘ 請輸入想要提問的内容:’)
17 while True:
18 if question==’bye’:
19 break
20 reply=find_answer(question)
21 if not reply:
22 question=input(“ 小蜜不懂您在說什麼,您能够問一些與订單、账戶和领取相關的内容(退出請輸入 bye):”)
23 else:
24 print(reply)
25 question=input(“ 您能够問一些與订單、账戶和领取相關的内容(退出請輸入 bye):”)
26 print(‘ 谢谢,再見!’)
27
復製代码
復製代码
4。求最大公約數和最小公倍數(辗轉相除法)
最大公約數:指兩個或多個整數共有約數中最大的一個

最小公倍數:兩個或多個整數私有的倍數叫做它們的公倍數,其中除 0 以外最小的一個公倍數就叫做這幾個整數的最小公倍數

二者關係:兩個數之積 = 最小公倍數 * 最大公約數

復製代码
1 a=int(input(‘ 輸入數字 1:’))
2 b=int(input(‘ 輸入數字 2:’))
3 s=a*b
4 while a%b!=0:
5 a,b=b,(a%b)
6 print(a)
7 print(b)
8 else:
9 print(b,’is the maximum common divisor 最大公約數 ’)
10 print(s//b,’is the least common multiple,最小公倍數 ’)
復製代码
更相減损法

復製代码
1 a=int(input(‘please enter 1st num:’))
2 b=int(input(‘please enter 2nd num:’))
3 s=a*b
4
5 while a!=b:
6 if a>b:
7 a-=b
8 elif a<b:
9 b-=a
10 else:
11 print(a,’is the maximum common divisor’)
12 print(s//a,’is the least common multiple’)
13
14 #運行結果
15 please enter 1st num:40
16 please enter 2nd num:60
17 20 is the maximum common divisor
18 120 is the least common multiple
復製代码
5。判斷是否爲平年(辗轉相除法)
復製代码
1 # 判斷是否爲平年
2 while True:
3 try:
4 num=eval(input(“ 請輸入一個年份:”))
5 except:
6 print(‘ 輸入錯誤年份 ’)
7 continue
8 if (num %4==0 and num%100 !=0) or num %400==0:
9 print(num,” 是平年 ”)
10 else:
11 print(num,” 不是平年 ”)
復製代码
復製代码
import calendar
year = int(input(“ 請輸入年份:”))
check_year=calendar.isleap(year)
if check_year == True:

print ("平年")

else:

print ("平年")

復製代码
6。Python 統計字符串中數字, 字母, 漢字的個數
復製代码
1 import re
2 str_test=’abcdefgHABC123456 中華民族 ’
3
4 #把正則表達式編译成對象, 如果經常应用該對象, 此種形式可进步肯定效率
5 num_regex = re.compile(r'[0-9]’)
6 zimu_regex = re.compile(r'[a-zA-z]’)
7 hanzi_regex = re.compile(r'[\u4E00-\u9FA5]’)
8
9 print(‘ 輸入字符串:’,str_test)
10 #findall 獲取字符串中所有匹配的字符
11 num_list = num_regex.findall(str_test)
12 print(‘ 蕴含的數字:’,num_list)
13 zimu_list = zimu_regex.findall(str_test)
14 print(‘ 蕴含的字母:’,zimu_list)
15 hanzi_list = hanzi_regex.findall(str_test)
16 print(‘ 蕴含的漢字:’,hanzi_list)
復製代码
#羊車門問題

復製代码
1 import random as r
2
3 #總次數
4 total=1000000 #1000,1W,10W,100W
5 #換與不換的獲勝次數
6 win1=0
7 win2=0
8
9 for i in range(total):
10 #模擬選择過程
11 man=r.randint(1,3)
12 car=r.randint(1,3)
13 #結果:一開始爲車門,不換 +1.
14 # 否則則一開始爲羊門,換 +1.
15 if man==car:
16 win1+=1
17 else:
18 win2+=1
19
20 print(“ 在{} 次實驗中:”.format(total))
21 print(“ 若不更改門,獲勝概率爲 {:.3}%.”.format((win1/total)*100))
22 print(“ 若更改門,獲勝概率爲{:.3}%.”.format((win2/total)*100))
復製代码
復製代码
1 import random
2 x=random.randint(5000,10000)
3 print(x)
4 change=0
5 nochange=0
6 for i in range(1,x+1):
7 a=random.randrange(1,4)
8 b=random.randrange(1,4)
9 if a==b:
10 nochange=nochange+1
11 else:
12 change=change+1
13 print(“ 不更改選择失去汽車的概率爲{:.2f}”.format(nochange/x))
14
15 print(“ 更改選择失去汽車的概率爲{:.2f}”.format(change/x))

正文完
 0