摘要:按照下面的格式打印的數(shù)字以及每個(gè)數(shù)的平方幾何級(jí)數(shù)和階乘。分方法一設(shè)計(jì)一個(gè)函數(shù),統(tǒng)計(jì)一個(gè)字符串中出現(xiàn)頻率最高的字符及其出現(xiàn)次數(shù)分。分筒條萬(wàn)王寶強(qiáng)賈乃亮馬伊琍陳羽凡洗牌發(fā)牌第一個(gè)人多發(fā)一張牌的牌是筒條萬(wàn)筒筒條條萬(wàn)萬(wàn)筒條萬(wàn)
按照下面的格式打印1~10的數(shù)字以及每個(gè)數(shù)的平方、幾何級(jí)數(shù)和階乘。(5分)
數(shù)字 | 平方 | 幾何級(jí)數(shù) | 階乘 |
---|---|---|---|
1 | 1 | 2 | 1 |
2 | 4 | 4 | 2 |
3 | 9 | 8 | 6 |
4 | 16 | 16 | 24 |
5 | 25 | 32 | 120 |
print("|{0:<18}|{1:<18}|{2:<18}|{3:<18}|".format("數(shù)字", "平方", "幾何級(jí)數(shù)", "階乘")) print("|{0:<20}|{1:<20}|{2:<20}|{3:<20}|".format("----", "----", "----", "----")) number4 = 1 for i in range(1, 13): number = i number2 = i ** 2 number3 = 2 ** i number4 *= i print("|{0:<20}|{1:<20}|{2:<20}|{3:<20}|".format(number, number2, number3, number4)) from math import factorial def main(): print("%-12s%-12s%-12s%-12s" % ("s", "s", "s", "s")) for num in range(1, 11): print("%12d%12d%12d%12d" % (num, num ** 2, 2 ** num, factorial(num))) # %d前加數(shù)字表示間隔的字符數(shù) if __name__ == "__main__": main()
2.設(shè)計(jì)一個(gè)函數(shù),
生成指定長(zhǎng)度的驗(yàn)證碼(由數(shù)字和大小寫(xiě)英文字母構(gòu)成的隨機(jī)字符串)。(5分)
import random import string def id_code(): long = int(input("請(qǐng)輸入驗(yàn)證碼的長(zhǎng)度")) str1 = "" for i in range(long): str1 += random.choice(string.ascii_letters + string.digits) print(str1) id_code()
3.設(shè)計(jì)一個(gè)函數(shù),統(tǒng)計(jì)字符串中 英文字母和數(shù)字各自出現(xiàn)的次數(shù)。(10分)
num1 = 0 num2 = 0 str1 = "@djjkjk9565628jjjlkaskdl--" import string for i in str1: if i in string.digits: num1 += 1 if i in string.ascii_letters: num2 += 1 print(num1,num2)
4.設(shè)計(jì)一個(gè)函數(shù),判斷傳入的整數(shù)列表
(要求元素個(gè)數(shù)大于2個(gè))中的元素能否構(gòu)成等差數(shù)列。(10分)
def judge(): list1.sort() for i in range(len(list1)-2): if (list1[i+1]-list1[i]) != (list1[i+2]-list1[i+1]): return False return True list1 = [1,2,3,5] print(judge())
5.設(shè)計(jì)一個(gè)函數(shù),計(jì)算字符串中所有數(shù)字序列的和。(10分)
import re str1 = "asb123dasjk-7f078" list1 = re.findall(r"-d+|d+",str1) s = 0 for i in list1: s += int(i) print(s)
6.設(shè)計(jì)一個(gè)函數(shù),對(duì)傳入的字符串(假設(shè)字符串中只包含小寫(xiě)字母和空格)進(jìn)行加密操作,
加密的規(guī)則是a變d,b變e,c變f,……,x變a,y變b,z變c,空格不變,返回加密后的字符串。(10分)
def change(str1): str2 = "" for i in str1: if i != " ": # a 97 z 122 str2 += chr(ord("a") + (ord(i) -ord("a") + 3) % 26 ) else: str2 += " " return str2 print(change("abcd xyz"))
7.設(shè)計(jì)“跳一跳”游戲的計(jì)分函數(shù),“跳一跳”游戲中黑色小人從一個(gè)方塊跳到另一個(gè)方塊上會(huì)獲得1分,
如果跳到方塊的中心點(diǎn)上會(huì)獲得2分,連續(xù)跳到中心點(diǎn)會(huì)依次獲得2分、4分、6分、……。
該函數(shù)傳入一個(gè)列表,列表中用布爾值True或False表示是否跳到方塊的中心點(diǎn),函數(shù)返回最后獲得的分?jǐn)?shù)。(10分)
方法一 str1 ="" list1 = [True, True, True, False, False, False, True] num1 = list1.count(False) num2 = 0 for i in list1: str1 += str(i) list2 = str1.split("False") for i in list2: num2 +=i.count("True")*(i.count("True")+1) print(num2+num1) list1 = [True, True, True, False, False, False, True] score = 0 rate = 2 for i in list1: if i: score += rate rate += 2 else: score += 1 rate = 2 print(score)
8.設(shè)計(jì)一個(gè)函數(shù),統(tǒng)計(jì)一個(gè)字符串中出現(xiàn)頻率最高的字符及其出現(xiàn)次數(shù)(20分)。
def count(str): dict={} for i in str: if i in dict: dict[i]+=1 else: dict[i]=1 max_keys = [] max_value = 0 for key, value in dict.items(): if value > max_value: max_value = value max_keys.clear() max_keys.append(key) elif value == max_value: max_keys.append(key) return max_keys, max_value print(count("aabbaaccbb")) # (["a", "b"], 4)
9.設(shè)計(jì)一個(gè)函數(shù),傳入兩個(gè)代表日期的字符串,
如“2018-2-26”、“2017-12-12”,計(jì)算兩個(gè)日期相差多少天。(20分)。
def month_to_day(m): s = 0 for i in range(1, m): if i == 2: s = s+29 if (i % 4 == 0 and i % 100 != 0) or (i % 400 == 0) else s+28 else: s = s+30 if i == 4 or i == 6 or i == 9 or i == 11 else s+31 return s def date_to_day(date1, date2): list1 = date1.split("-") list2 = date2.split("-") y1,m1,d1,y2,m2,d2 = int(list1[0]),int(list1[1]),int(list1[2]),int(list2[0]), int(list2[1]),int(list2[2]) sum = 0 if y1 > y2: y1, y2 = y2, y1 m1, m2 = m2, m1 d1, d2 = d2, d1 if y1 == y2 and m1 > m2: m1, m2 = m2, m1 d1, d2 = d2, d1 if y1 == y2 and m1 == m2 and d1 > d2: d1, d2 = d2, d1 print(y1,m1,d1,y2,m2,d2) for i in range(y1, y2): sum = sum + 366 if (i % 4 == 0 and i % 100 != 0) or (i % 400 == 0) else sum + 365 s1 = month_to_day(m1) s2 = month_to_day(m2) print("sum=%d,s2=%d,s1=%d,d2=%d,d1=%d"%(sum,s2,s1,d2,d1)) sum = sum+s2-s1 + d2 - d1 return sum date1 = "2018-1-1" date2 = "2017-12-31" print(date_to_day(date1,date2)) import datetime d1 = datetime.datetime(2018,1,1,0,0,0,0) print(d1) d2 = datetime.datetime(2017,12,31,0,0,0,0) d3 = d1-d2 print(d3.days)
10.“四川麻將”共有108張牌,分為“筒”、“條”、“萬(wàn)”三種類型,
每種類型的牌有1~9的點(diǎn)數(shù),每個(gè)點(diǎn)數(shù)有4張牌;游戲通常有4個(gè)玩家,游戲開(kāi)始的時(shí)候,
有一個(gè)玩家會(huì)拿到14張牌(首家),其他三個(gè)玩家每人13張牌。
要求用面向?qū)ο蟮姆绞絼?chuàng)建麻將牌和玩家并實(shí)現(xiàn)洗牌、摸牌、玩家按照 類型 和 點(diǎn)數(shù) 排列手上的牌的操作,
最后顯示出游戲開(kāi)始的時(shí)候每個(gè)玩家手上的牌。(20分)
"""
import random class Man(object): def __init__(self, name): self.name = name self.maj = [] class Tongzi(object): name = "筒" def __init__(self, number): self.number = number class Tiaozi(Tongzi): name = "條" class Wanzi(Tongzi): name = "萬(wàn)" def packin(clas): list = [] for i in range(1, 10): for j in range(4): a = clas(i) list.append(a) return list def main(): tongList = packin(Tongzi) tiaoList = packin(Tiaozi) wanList = packin(Wanzi) List = tiaoList + tongList + wanList m1 = Man("王寶強(qiáng)") m2 = Man("賈乃亮") m3 = Man("馬伊琍") m4 = Man("陳羽凡") # 洗牌 random.shuffle(List) # 發(fā)牌 for i in range(13): m1.maj.append(List.pop()) m2.maj.append(List.pop()) m3.maj.append(List.pop()) m4.maj.append(List.pop()) # 第一個(gè)人多發(fā)一張牌 m1.maj.append(List.pop()) for m in [m1, m2, m3, m4]: print(" %s的牌是:" % m.name) dict1 = {"筒": [], "條": [], "萬(wàn)": []} for j in range(14 if m == m1 else 13): if m.maj[j].name == "筒": dict1["筒"].append(m.maj[j].number) elif m.maj[j].name == "條": dict1["條"].append(m.maj[j].number) elif m.maj[j].name == "萬(wàn)": dict1["萬(wàn)"].append(m.maj[j].number) dict1["筒"].sort() dict1["條"].sort() dict1["萬(wàn)"].sort() for key, value in dict1.items(): for i in value: print(str(i) + key, end=" ") if __name__ == "__main__": main()
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/41662.html
摘要:如果你仍然無(wú)法抉擇,那請(qǐng)選擇,畢竟這是未來(lái)的趨勢(shì),參考知乎回答還是編輯器該如何選我推薦社區(qū)版,配置簡(jiǎn)單功能強(qiáng)大使用起來(lái)省時(shí)省心,對(duì)初學(xué)者友好。 這是一篇 Python 入門(mén)指南,針對(duì)那些沒(méi)有任何編程經(jīng)驗(yàn),從零開(kāi)始學(xué)習(xí) Python 的同學(xué)。不管你學(xué)習(xí)的出發(fā)點(diǎn)是興趣驅(qū)動(dòng)、拓展思維,還是工作需要、想要轉(zhuǎn)行,都可以此文作為一個(gè)參考。 在這個(gè)信息爆炸的時(shí)代,以 Python入門(mén) 為關(guān)鍵字搜索出...
摘要:針對(duì)的初學(xué)者,從無(wú)到有的語(yǔ)言如何入門(mén),主要包括了的簡(jiǎn)介,如何下載,如何安裝,如何使用終端,等各種開(kāi)發(fā)環(huán)境進(jìn)行開(kāi)發(fā),中的語(yǔ)法和基本知識(shí)概念和邏輯,以及繼續(xù)深入學(xué)習(xí)的方法。 ...
摘要:你想學(xué)習(xí)嗎你知道技能樹(shù)嗎技能樹(shù)是提供的系統(tǒng)化,面向?qū)崙?zhàn)的學(xué)習(xí)環(huán)境。如果你是初學(xué)者請(qǐng)馬上開(kāi)始學(xué)習(xí),你最終可以獲得的技能認(rèn)證。學(xué)習(xí)到任何一階段的同學(xué)們都可以輕松加入技能樹(shù)的學(xué)習(xí),所以你要學(xué)習(xí)就請(qǐng)趕快加入吧。 python 是一種很流行的高級(jí)動(dòng)態(tài)語(yǔ)言。編程語(yǔ)言的的排行可以參考TIOBE。當(dāng)然如果從...
Python 練習(xí)題 --- 梯度下降 題目要求思路講解第一題第二題第一步第二步第三步第四步第五步改進(jìn) 結(jié)尾 題目來(lái)源:在校課程老師布置的作業(yè)偷偷說(shuō)一句:如果對(duì)我的答案和解析滿意的話可不可以給我 點(diǎn)個(gè)贊 , 點(diǎn)個(gè)收藏 之類的Let's do it !!! 題目要求 已知某系統(tǒng)模型可由 ...
摘要:笨辦法學(xué)第版結(jié)構(gòu)非常簡(jiǎn)單,共包括個(gè)習(xí)題,其中個(gè)覆蓋了輸入輸出變量和函數(shù)三個(gè)主題,另外個(gè)覆蓋了一些比較高級(jí)的話題,如條件判斷循環(huán)類和對(duì)象代碼測(cè)試及項(xiàng)目的實(shí)現(xiàn)等。最后只想說(shuō),學(xué)習(xí)不會(huì)辜負(fù)任何人,笨辦法學(xué) 內(nèi)容簡(jiǎn)介 《笨辦法學(xué)Python(第3版)》是一本Python入門(mén)書(shū)籍,適合對(duì)計(jì)...
閱讀 2489·2023-04-26 02:18
閱讀 1275·2021-10-14 09:43
閱讀 3844·2021-09-26 10:00
閱讀 7003·2021-09-22 15:28
閱讀 2555·2019-08-30 15:54
閱讀 2617·2019-08-30 15:52
閱讀 488·2019-08-29 11:30
閱讀 3477·2019-08-29 11:05