成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

python第一階段習(xí)題

smallStone / 3629人閱讀

摘要:按照下面的格式打印的數(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

相關(guān)文章

  • 給伸手黨的福利:Python 新手入門(mén)引導(dǎo)

    摘要:如果你仍然無(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)鍵字搜索出...

    用戶84 評(píng)論0 收藏0
  • 史上最詳細(xì)Python學(xué)習(xí)路線-從入門(mén)到精通,只需90天

    摘要:針對(duì)的初學(xué)者,從無(wú)到有的語(yǔ)言如何入門(mén),主要包括了的簡(jiǎn)介,如何下載,如何安裝,如何使用終端,等各種開(kāi)發(fā)環(huán)境進(jìn)行開(kāi)發(fā),中的語(yǔ)法和基本知識(shí)概念和邏輯,以及繼續(xù)深入學(xué)習(xí)的方法。 ...

    gghyoo 評(píng)論0 收藏0
  • 學(xué)習(xí)python就用python技能樹(shù)|Python技能樹(shù)測(cè)評(píng)

    摘要:你想學(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)然如果從...

    Harpsichord1207 評(píng)論0 收藏0
  • Python習(xí)題 --- 梯度下降

    Python 練習(xí)題 --- 梯度下降 題目要求思路講解第一題第二題第一步第二步第三步第四步第五步改進(jìn) 結(jié)尾 題目來(lái)源:在校課程老師布置的作業(yè)偷偷說(shuō)一句:如果對(duì)我的答案和解析滿意的話可不可以給我 點(diǎn)個(gè)贊 , 點(diǎn)個(gè)收藏 之類的Let's do it !!! 題目要求 已知某系統(tǒng)模型可由 ...

    番茄西紅柿 評(píng)論0 收藏2637
  • 測(cè)試開(kāi)發(fā)必看:《笨辦法學(xué)Python3》PDF中文高清版,豆瓣高分8.0

    摘要:笨辦法學(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ì)...

    不知名網(wǎng)友 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<