国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

python第一階段習題

smallStone / 3619人閱讀

摘要:按照下面的格式打印的數字以及每個數的平方幾何級數和階乘。分方法一設計一個函數,統計一個字符串中出現頻率最高的字符及其出現次數分。分筒條萬王寶強賈乃亮馬伊琍陳羽凡洗牌發牌第一個人多發一張牌的牌是筒條萬筒筒條條萬萬筒條萬

按照下面的格式打印1~10的數字以及每個數的平方、幾何級數和階乘。(5分)

數字 平方 幾何級數 階乘
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("數字", "平方", "幾何級數", "階乘"))
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前加數字表示間隔的字符數

if __name__ == "__main__":
    main()



2.設計一個函數,
生成指定長度的驗證碼(由數字和大小寫英文字母構成的隨機字符串)。(5分)

import random
import string


def id_code():
    long = int(input("請輸入驗證碼的長度"))
    str1 = ""
    for i in range(long):
        str1 += random.choice(string.ascii_letters + string.digits)
    print(str1)

id_code()


3.設計一個函數,統計字符串中 英文字母和數字各自出現的次數。(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.設計一個函數,判斷傳入的整數列表
(要求元素個數大于2個)中的元素能否構成等差數列。(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.設計一個函數,計算字符串中所有數字序列的和。(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.設計一個函數,對傳入的字符串(假設字符串中只包含小寫字母和空格)進行加密操作,
加密的規則是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.設計“跳一跳”游戲的計分函數,“跳一跳”游戲中黑色小人從一個方塊跳到另一個方塊上會獲得1分,
如果跳到方塊的中心點上會獲得2分,連續跳到中心點會依次獲得2分、4分、6分、……。
該函數傳入一個列表,列表中用布爾值True或False表示是否跳到方塊的中心點,函數返回最后獲得的分數。(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.設計一個函數,統計一個字符串中出現頻率最高的字符及其出現次數(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.設計一個函數,傳入兩個代表日期的字符串,
如“2018-2-26”、“2017-12-12”,計算兩個日期相差多少天。(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張牌,分為“筒”、“條”、“萬”三種類型,
每種類型的牌有1~9的點數,每個點數有4張牌;游戲通常有4個玩家,游戲開始的時候,
有一個玩家會拿到14張牌(首家),其他三個玩家每人13張牌。
要求用面向對象的方式創建麻將牌和玩家并實現洗牌、摸牌、玩家按照 類型 和 點數 排列手上的牌的操作,
最后顯示出游戲開始的時候每個玩家手上的牌。(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 = "萬"

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("王寶強")
    m2 = Man("賈乃亮")
    m3 = Man("馬伊琍")
    m4 = Man("陳羽凡")
    # 洗牌
    random.shuffle(List)

    # 發牌
    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())
        # 第一個人多發一張牌
    m1.maj.append(List.pop())

    for m in [m1, m2, m3, m4]:
        print("
%s的牌是:" % m.name)
        dict1 = {"筒": [], "條": [], "萬": []}
        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 == "萬":
                dict1["萬"].append(m.maj[j].number)

        dict1["筒"].sort()
        dict1["條"].sort()
        dict1["萬"].sort()
        for key, value in dict1.items():
            for i in value:
                print(str(i) + key, end=" ")

if __name__ == "__main__":
    main()

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/41662.html

相關文章

  • 給伸手黨的福利:Python 新手入門引導

    摘要:如果你仍然無法抉擇,那請選擇,畢竟這是未來的趨勢,參考知乎回答還是編輯器該如何選我推薦社區版,配置簡單功能強大使用起來省時省心,對初學者友好。 這是一篇 Python 入門指南,針對那些沒有任何編程經驗,從零開始學習 Python 的同學。不管你學習的出發點是興趣驅動、拓展思維,還是工作需要、想要轉行,都可以此文作為一個參考。 在這個信息爆炸的時代,以 Python入門 為關鍵字搜索出...

    用戶84 評論0 收藏0
  • 史上最詳細Python學習路線-從入門到精通,只需90天

    摘要:針對的初學者,從無到有的語言如何入門,主要包括了的簡介,如何下載,如何安裝,如何使用終端,等各種開發環境進行開發,中的語法和基本知識概念和邏輯,以及繼續深入學習的方法。 ...

    gghyoo 評論0 收藏0
  • 學習python就用python技能樹|Python技能樹測評

    摘要:你想學習嗎你知道技能樹嗎技能樹是提供的系統化,面向實戰的學習環境。如果你是初學者請馬上開始學習,你最終可以獲得的技能認證。學習到任何一階段的同學們都可以輕松加入技能樹的學習,所以你要學習就請趕快加入吧。 python 是一種很流行的高級動態語言。編程語言的的排行可以參考TIOBE。當然如果從...

    Harpsichord1207 評論0 收藏0
  • Python習題 --- 梯度下降

    Python 練習題 --- 梯度下降 題目要求思路講解第一題第二題第一步第二步第三步第四步第五步改進 結尾 題目來源:在校課程老師布置的作業偷偷說一句:如果對我的答案和解析滿意的話可不可以給我 點個贊 , 點個收藏 之類的Let's do it !!! 題目要求 已知某系統模型可由 ...

    番茄西紅柿 評論0 收藏2637
  • 測試開發必看:《笨辦法學Python3》PDF中文高清版,豆瓣高分8.0

    摘要:笨辦法學第版結構非常簡單,共包括個習題,其中個覆蓋了輸入輸出變量和函數三個主題,另外個覆蓋了一些比較高級的話題,如條件判斷循環類和對象代碼測試及項目的實現等。最后只想說,學習不會辜負任何人,笨辦法學 內容簡介   《笨辦法學Python(第3版)》是一本Python入門書籍,適合對計...

    不知名網友 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<