python ex5組合資料型別

2021-09-25 09:58:18 字數 2989 閱讀 7827

#基本數值運算

def getnum(): #獲取使用者不定長度的輸入 輸入一行,例如:1,2,3,4,5

innum =

instr = input()

innum = (eval(instr))

return innum

def mean(numbers): #計算平均值

add_all = 0.0

for item in numbers:

add_all = add_all+item

return add_all/len(numbers)

def dev(numbers, mean): #計算標準差

sdev = 0.0

for num in numbers:

sdev = sdev + (num - mean)**2

return pow(sdev / (len(numbers)-1), 0.5)

def median(numbers): #計算中位數

ls = sorted(numbers) # 注意sorted不改變原來的列表,新建乙個列表

if len(ls)%2 == 0:

return (ls[len(ls)//2]+ls[len(ls)//2-1])/2

else:

return ls[len(ls)//2]

n = getnum() #主體函式

m = mean(n)

print("平均值:,標準差:,中位數:{}".format(m,dev(n,m),median(n)))

def gettext():

txt = open("hamlet.txt", "r").read()

txt = txt.lower()

for ch in '!"#$%&()*+-,./:;<=>?@[\\]^_{}~|':

txt = txt.replace(ch," ")

return txt

hamtxt = gettext()

words = hamtxt.split()

count = {} #新建字典

for word in words:

count[word] = count.get(word,0)+1 # 返回對應鍵值,沒有返回0

ls = list(count.items())

ls = sorted(ls,key=lambda x:x[1],reverse=true) #按變數第二維進行排序

for i in range(10):

name,number = ls[i]

print("{}".format(name))

s = '''雙兒 洪七公 趙敏 趙敏 逍遙子 鰲拜 殷天正 金輪法王 喬峰 楊過 洪七公 郭靖 

楊逍 鰲拜 殷天正 段譽 楊逍 慕容復 阿紫 慕容復 郭芙 喬峰 令狐沖 郭芙

金輪法王 小龍女 楊過 慕容復 梅超風 李莫愁 洪七公 張無忌 梅超風 楊逍

鰲拜 岳不群 黃藥師 黃蓉 段譽 金輪法王 忽必烈 忽必烈 張三丰 喬峰 喬峰

阿紫 喬峰 金輪法王 袁冠南 張無忌 郭襄 黃蓉 李莫愁 趙敏 趙敏 郭芙 張三丰

喬峰 趙敏 梅超風 雙兒 鰲拜 陳家洛 袁冠南 郭芙 郭芙 楊逍 趙敏 金輪法王

忽必烈 慕容復 張三丰 楊逍 令狐沖 黃藥師 袁冠南 楊逍 完顏洪烈 殷天正

李莫愁 阿紫 逍遙子 喬峰 逍遙子 完顏洪烈 郭芙 楊逍 張無忌 楊過 慕容復

逍遙子 虛竹 雙兒 喬峰 郭芙 黃蓉 李莫愁 陳家洛 楊過 忽必烈 鰲拜 王語嫣

洪七公 韋小寶 阿朱 梅超風 段譽 岳靈珊 完顏洪烈 喬峰 段譽 楊過 楊過 慕容復

黃蓉 楊過 阿紫 楊逍 張三丰 張三丰 趙敏 張三丰 楊逍 黃蓉 金輪法王 郭襄

張三丰 令狐沖 郭芙 韋小寶 黃藥師 阿紫 韋小寶 金輪法王 楊逍 令狐沖 阿紫

洪七公 袁冠南 雙兒 郭靖 鰲拜 謝遜 阿紫 郭襄 梅超風 張無忌 段譽 忽必烈

完顏洪烈 雙兒 逍遙子 謝遜 完顏洪烈 殷天正 金輪法王 張三丰 雙兒 郭襄 阿朱

郭襄 雙兒 李莫愁 郭襄 忽必烈 金輪法王 張無忌 鰲拜 忽必烈 郭襄 令狐沖

謝遜 梅超風 殷天正 段譽 袁冠南 張三丰 王語嫣 阿紫 謝遜 楊過 郭靖 黃蓉

雙兒 滅絕師太 段譽 張無忌 陳家洛 黃蓉 鰲拜 黃藥師 逍遙子 忽必烈 趙敏

逍遙子 完顏洪烈 金輪法王 雙兒 鰲拜 洪七公 郭芙 郭襄'''

name = set(s.split()) # 統計不重複人名

print(len(name))

cont = eval(input())

versedic = {}

if type(cont) != dict:

print("輸入錯誤")

else:

for key,value in cont.items(): # 注意這種用法,返回兩個變數,即鍵值對

versedic[value] = key

print(versedic)

import jieba

txt = open("沉默的羔羊.txt","r",encoding = "utf-8").read()

words = jieba.lcut(txt)

count = {}

for word in words:

if len(word) < 2:

continue

else:

count[word] = count.get(word,0)+1

ls = list(count.items())

ls.sort(key=lambda x:x[1],reverse =true)

name,num = ls[0]

print(name)

答案 4 組合資料型別

3.1 編寫乙個名為chop的函式,讓其接收如下列表作為引數,刪除該列表的第乙個元素和最後乙個 元素,返回新列表並列印輸出 t good good study day day up def chop temp temp.pop 0 temp.pop len temp 1 return temp t ...

043 組合資料型別小結

目錄十天快速入門 python完整教程目錄 daydayupq3.py dayup 1.0 dayfactor 0.01 for i in range 365 if i 7 in 6,0 dayup dayup 1 dayfactor else dayup dayup 1 dayfactor pri...

組合資料型別

集合型別定義 多個元素的無序組合,每個元素唯一,集合中元素無重複。集合元素不可更改。集合用 表示,元素間用逗號隔開,建立集合型別用 或set 建立空的集合型別,必須使用set s t 返回乙個新集合,包括在集合s和t中所有元素 並集 s t 返回乙個新集合,包括在集合s但不在集合t中的元素 減操作 ...