( ps : 題目中用到的一些random函數在最後末尾處有介紹) app
1,在屏幕上顯示跑馬燈文字dom
import os # 調用os模塊 import time # 調用時間模塊 def main(): content = '河南農大歡迎您!!!!' # 賦值字符串 while True: os.system("cls") # os.system("clear") # 清屏操做 print(content) time.sleep(0.2) # 延遲200毫秒 content = content[1:] + content[0] # 切片處理 if __name__ == '__main__': # 腳本運行程序 main()
2,設計驗證碼函數
import random # 調用隨機數模塊 def generate_code(code_len = 4): all_chars = '0123456789abcdefjhijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' # all_chars = '今天是藍橋杯國賽的日子' # 能夠自行設置你想要的字符 last_pos = len(all_chars) - 1 # 索引是從零開始的,故要將長度減一 code = '' for _ in range(code_len): # 進行遍歷循環 index = random.randint(0,last_pos) # 產生隨機數字 code += all_chars[index] # 取出索引爲index的字符 return code print(generate_code())
3,求列表第一大和第二大元素spa
def max2(num): m1,m2 = (num[0],num[1]) if num[0] > num[1] else (num[1],num[0]) # 判斷 num[0] 和 num[1] 的大小,將大值賦值給m1 for i in range(2,len(num)): # 進行遍歷 if num[i] > m2: # 判斷是否大於m2 if num[i] > m1: # 判斷是否大於m1 m1,m2 = num[i],m1 # 進行賦值操做 else : m2 = num[i] return m1,m2 # 返回一個元組 print(max2([1,5,3,6,9,15,5,2,3,-9,-8]))
4,計算指定的年月日是這一年的第幾天設計
def is_leap_year(year): # 判斷是否爲閏年 flag = True if year % 4 == 0 and year % 100 != 0 or year % 400 == 0 else False # 閏年判斷方式:年份能被四整除並且不能被100整除,年份能被四百整除,兩個條件符合其一都爲閏年 return flag # 返回一個布爾值 def date(year,month,day): day_sum = 0 date1 = [[31,28,31,30,31,30,31,31,30,31,30,31],[31,29,31,30,31,30,31,31,30,31,30,31]] # 定義列表,分別爲閏年,平年每一個月多少天 for i in range(len(date1[is_leap_year(year)])): # 遍歷 布爾值能夠替換成0,1 if i < month-1: # 索引從0開始 day_sum += date1[is_leap_year(year)][i] else: day_sum += day break return day_sum print(date(2019,5,25)) print(date(2019,2,1))
5,雙色號選球問題code
from random import randrange,randint,sample # 導入random模塊下的幾個函數 def display(balls): for index,ball in enumerate(balls): # enumerate:給元素前加上索引構成每個元素都是元組 if index == len(balls) - 1: # 判斷是否爲最後一個元素 print('|',end=" ") print("%02d" % ball,end=' ') # %02d:輸出整數類型,並以兩位數輸出,01,29,03 print() # 輸出換行符 def random_select(): red_balls = [x for x in range(1,34)] # 生成一個列表 selected_balls = [] selected_balls = sample(red_balls,6) # 從red_balls中隨機挑選六個元素並以列表的形式返回 selected_balls.sort() # 給列表進行排序 selected_balls.append(randint(1,16)) # 添加一個元素 return selected_balls def main(): n = int(input("請下注:")) for _ in range(n): display(random_select()) if __name__ == "__main__": main()
6,約瑟夫環問題orm
有15個基督徒和15個非基督徒在海上遇險,爲了能讓一部分人活下來不得不將
其中15我的扔到海里面去,有我的想了個辦法就是你們圍成一個圈,由某我的開
始從1報數,報到9的人就扔到海里面,他後面的人接着從1開始報數,報到9的人
繼續扔到海里面,直到扔掉15我的。因爲上帝的保佑,15個基督徒都倖免於難,問這
些人最開始是怎麼站的,哪些位置是基督徒哪些位置是非基督徒。
def main(): person = [True] * 30 #生成一個列表,列表重含有三十個True 假定都爲基督教人 index,count,number = 0,0,0 # 給index,count,number 賦值0 while count < 15: if person[index] == True: number += 1 #喊話數字加一 if number == 9: # 當數字爲九時 person[index] = False # 此人爲非基督教 count += 1 # 人數加一 number = 0 # 重新開始喊話 index += 1 # 不管是否爲基督教信徒,索引值都要加一 index %= 30 # 索引值不能夠超過29 for i in person: print("基",end = ' ') if i else print("非",end = ' ') # 進行輸出 if __name__ == "__main__": main()
7,random模塊簡單介紹blog
import random print(random.random()) #產生隨機數,從0到1的浮點數 print(random.uniform(1,4)) # 產生從1到4的浮點數 print(random.randint(1,6)) #產生從1到6的浮點數 print(random.randrange(10,100,5)) # 從10到100中五的倍數的數字選出一個 print(random.choice([1,2,3,4,5,6])) # 從隊列中選出一個元素 list1 = ['a','b','c','d','e','f','g','h'] random.shuffle(list1) # 將列表亂序排列 print(list1) a = random.sample([12,3,4,4,5,6,6,67,7,7,56,6,6,6,6,6,6,6],5) # 從列表中選出五個元素組成列表返回 print(a)
試題來源於駱昊大神排序