1. 程式人生 > >【作業】python 實驗

【作業】python 實驗

1、編寫程式,生成1000個隨機[20,121)之間的整數,並統計每個元素出現的次數。

"""生成1000個隨機[20,121)之間的整數,並統計每個元素出現的次數。"""
import random
a=[random.randint(20,121) for i in range(1000)]
for i in range(20,121):
    print(i," , count = " , a.count(i))
from collections import Counter
import random
x=[random.randint(20,121) for i in range(1000)]
t=Counter(x)
print(t)
import random
x=[random.randint(20,121) for i in range(1000)]
y=set(x)
for i in y:
    print((i,x.count(i)),end='')

 2、編寫程式,使用者輸入一個列表和兩個整數作為下標,然後使用切片獲取並輸出列表中結餘兩個下標之間的元素組成的子列表。例如,使用者輸入 [1,2,3,4,5,6]和2,5,程式輸出[3,4,5]。

自己最初的做法:

"""編寫程式,使用者輸入一個列表和兩個整數作為下標,
然後使用切片獲取並輸出列表中結餘兩個下標之間的元素組成的子列表。
例如,使用者輸入 [1,2,3,4,5,6]和2,5,程式輸出[3,4,5]"""
List = input("請輸入一個列表:")
t = List[1:len(List)-1]
tlist = t.split(',')
c=[]
for i in tlist:
    c.append(int(i))
print(tlist)
str = input("請輸入兩個整數:")
a, b = str.split(',')
a = int(a)
b = int(b)
print(c[a:b])

 老師提供了Map的使用後:

"""編寫程式,使用者輸入一個列表和兩個整數作為下標,
然後使用切片獲取並輸出列表中結餘兩個下標之間的元素組成的子列表。
例如,使用者輸入 [1,2,3,4,5,6]和2,5,程式輸出[3,4,5]"""
List = input("請輸入一個列表:")
t = List[1:len(List)-1]
tlist = t.split(',')
c=[]
c=list(map(int,tlist))
str = input("請輸入兩個整數:")
a, b = str.split(',')
a = int(a)
b = int(b)
print(c[a:b])
x=input("input")
x=eval(x)
a=input("input a,b")
a,b=a.split()
a,b=int(a),int(b)
if a>b:
    a,b=b,a
print(x[a:b])

3、編寫程式,設計一個字典,使用者輸入內容作為“鍵”,然後輸出字典中對應的“值”。如果使用者輸入的“鍵”不存在,則輸出“您輸入的鍵不存在”。

"""編寫程式,設計一個字典,
使用者輸入內容作為“鍵”,
然後輸出字典中對應的“值”。
如果使用者輸入的“鍵”不存在,
則輸出“您輸入的鍵不存在”。"""
S ={'Name': 12 ,'age': 20 , 'sex': 'boy'}
while( True ):
    str=input("請輸入鍵名(如果輸入是數字則退出)")
    if str.isdigit():
        break
    else:
        print(S.get(str,0))
print("退出程式")

4、假設有列表 a=[‘name’,’age’,’sex’]和b=[‘Dog’,38,’Male’],請編寫程式將這兩個列表的內容轉換為字典,並且以列表a中的元素為“鍵”,以列表b中的元素為“值”。

"""假設有列表
a=[‘name’,’age’,’sex’]
b=[‘Dog’,38,’Male’],
請編寫程式將這兩個列表的內容轉換為字典,
並且以列表a中的元素為“鍵”,
以列表b中的元素為“值”。"""

a=[ 'name','age','sex']
b=['Dog',38,'Male']
c=dict(zip(a,b))
for i in c.items():
    print(i)
print('\n\n\n')
for key in c:
    print(key)
print('\n\n\n')
for value in c:
    print(value)
for key,value in c.items():
    print("key = ",key," value = ",value)
"""
#1.匹配網址
s="http://www.interoem.com/messageinfo.asp?id=35;http://3995503.com/class/class09/news_show.asp?id=14;http://lib.wzmc.edu.cn/news/onews.asp?id=769;http://www.zy-ls.com/alfx.asp?newsid=377&id=6;http://www.fincm.com/newslist.asp?id=415"
import re
print(re.findall("http.*?(?:com|cn)",s,re.S))
"""

"""
#2. 查詢所有的單詞
st="hello world ha ha"
import re
#print(re.findall(r"\w+?a\b",st))    #查詢以a結尾的單詞,正確
#print(re.findall(r"\w+?(?:a|o)\b",st)) #查詢以a或者o結尾的單詞,正確
#print(re.findall(r"\w+?\b",st))   #查詢所有的單詞,正確
#print(re.findall(r"\w+",st))      #查詢所有的單詞,正確
"""

"""
#3. 匹配用一個空格分隔的任意一對單詞,比如,名和姓
str_n = 'huang feihong fang shiyu'
import re
print(re.findall("\w+?\s\w+",str_n))

"""

"""
#4. 匹配所有合法的Python識別符號
str1="abc08 _df12 15hd .5ac"
import re
print(re.findall(r"\b[a-zA-Z_]\w*",str1))
"""

"""
#5. 匹配合法的ip地址
#"\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}"
import re
x=input("please input an IP address  ")
print(re.match(r"^(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})",x).group()) #
#print(re.match(r"^(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})(\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2}))(\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2}))(\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2}))",x).group())
"""

"""
import re
mystr = '256.16.20.3'
print(re.match(r"^(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})(\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[0-9]{1,2})){3}$",mystr).group())
"""

"""
#6. 匹配所有合法的電子郵件地址(先寫出一個限制比較寬鬆的正則表示式,然後儘可能加 強限制條件,但要保證功能的正確性)。
import re
mystr = input("please input a string   ")#
print(re.match(r"\w+([-+.]*\w+)*",mystr).group())

##mystr ='[email protected]'
##print(re.match(r"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$",mystr).group())
"""

"""
#7. 將一篇中文文章中的電子郵件地址替換為你自己的電子郵件地址
import re
mystr = '世界你好,[email protected],你好世界,[email protected]'
print(re.sub(r"\[email protected]\w+\.\w+",'[email protected]',mystr))
"""

"""
#8. 取出屬性data-original對應的url
#<img data-original="https://rpic.douyucdn.cn/z1609/07/15/478748_160907150833.jpg" src="https://rpic.douyucdn.cn/z1609/07/15/478748_160907150833.jpg" style="display: block;">
import re
mystr = '<img data-original="https://rpic.douyucdn.cn/z1609/07/15/478748_160907150833.jpg" src="https://rpic.douyucdn.cn/z1609/07/15/478748_160907150833.jpg" style="display: block;">'
print(re.findall(r'<img data-original="(.*?)" ',mystr,re.S)[0])
# 單引號在雙引號裡面為什麼不對?
"""



相關推薦

作業python實驗3正則表示式

 1. 匹配網址 有一批網址: http://www.interoem.com/messageinfo.asp?id=35 http://3995503.com/class/class09/news_show.asp?id=14 http://lib.wzmc.edu.cn

作業python 實驗

1、編寫程式,生成1000個隨機[20,121)之間的整數,並統計每個元素出現的次數。 """生成1000個隨機[20,121)之間的整數,並統計每個元素出現的次數。""" import random a=[random.randint(20,121) for i in r

作業Linux實驗

linux 如何新建個不能登入系統賬號 要修改一個已經存在的使用者,執行這個命令: usermod -s /sbin/nologin <username > 對新使用者,可以使用這個命令: useradd -s /sbin/nologin <new use

Python編程:從入門到實踐——作業——第十一章(測試代碼)

stc 增加 收集 得到 width .com ast 接受 ted 第十一章 11-1 城市和國家 : 編寫一個函數, 它接受兩個形參: 一個城市名和一個國家名。 這個函數返回一個格式為City, Country 的字符串, 如Santiago, Chile 。 將這個函

Python編程:從入門到實踐——作業——第十四章(記分)

wid ont elif pac rom ext splay 添加 能夠 第十四章 14-1 按P開始新遊戲 : 鑒於遊戲《外星人入侵》 使用鍵盤來控制飛船, 最好讓玩家也能夠通過按鍵來開始遊戲。 請添加讓玩家在按P時開始遊戲的代碼。 也許這樣做會有所幫助: 將check_

原創Python 對象創建過程中元類, __new__, __call__, __init__ 的處理

diff regular luci 自定義 weight ica 一般來說 att ray 原始type: type是最原始的元類,其__call__方法是在你使用" t_class = type(classname_string, base_classes_tuple,

NLPPython實例:基於文本相似度對申報項目進行查重設計

用戶 strip() 字符串 執行 原創 這樣的 string 得到 亂碼問題 Python實例:申報項目查重系統設計與實現 作者:白寧超 2017年5月18日17:51:37 摘要:關於查重系統很多人並不陌生,無論本科還是碩博畢業都不可避免涉及論文查重問題,這也

Python自動化開發課堂筆記Day03 - Python基礎(字符編碼使用,文件處理,函數)

賦值 創建 解釋器 使用 重復 closed 操作 邏輯 默認 字符編碼使用 1. 文本編輯器如何存取文件 文本編輯器相當一個運行在內存中的進程,所以文件內容在編輯未存儲時都是在內存中的,尚未存儲在硬盤之中,在沒有保存之前,所編輯的任何文本都只是一堆字符,沒有任何邏輯上的意

zhlan--Python中的賦值運算符

運算 alt ges 比較 images pytho 比較運算符 賦值 技術分享 >>>>Python中的賦值運算符: >>>>Python中的比較運算符: zhlan--【偷】Python中的賦值運算符

Python自動化開發課堂筆記Day06 - Python進階(類)

擴展性 程序 lex 類名 人物 優點 ini 參數 self. 類與對象 面向過程的程序設計:  優點:極大的降低了程序的復雜度  缺點:一套流水線或者流程就是用來解決一個問題,生產汽水的流水線無法生產汽車,即使能,也是得大改,改一個組件,牽一發而動全身面向對象的程序設計

Python自動化開發課堂筆記Day08 - Python進階(面向對象的高級用法,網絡編程)

sta 自然 log 報錯 面向 read urn total 析構函數 面向對象的高級用法 1. __str__ 只要執行打印對象的操作,就會觸發該對象類中的__str__方法(也就是對象的綁定方法)它是一種默認的方法,默認的打印輸出為<__main__.Foo o

網易 作業 程序設計入門—C語言 翁愷 第二周

rate span asio tin bar ase read con hab #include<stdio.h> int main() { int a=0,b=0; scanf("%d",&a); if(a>=800)

python qt(pyqt)的文件打開、文件保存、文件夾選擇對話框

utf spl 文件對話框 出現 tin ans none 轉換 選擇文件夾 import PyQt4.QtCore,PyQt4.QtGui # 獲取文件路徑對話框 file_name = QFileDialog.getOpenFileName(self,"open

網易 作業 程序設計入門—C語言 翁愷 第五周

完數 字符 啊啊啊 垃圾 sys class -c system logs #include<stdio.h> int sushume(x) { int i=2,ret=0; for(i=2;x%i!=0;i++){;} //pri

作業條件、循環、函數定義、字符串操作練習

同心圓 print com alt while imp val orm format 一、註意標準庫的兩種導入與使用方式,建議大家采用<庫名>.<函數名>的方式。 二、對前面的代碼進行優化,用for,while,if,def實現: 1、用循環畫五角星

python字符串/元組/列表/字典互轉

python字符串 互轉 utf () __str__ 返回 list log utf-8 #-*-coding:utf-8-*- #1、字典 dict = {‘name‘: ‘Zara‘, ‘age‘: 7, ‘class‘: ‘First‘} #字典轉為字符串,

Python+pyplot繪制帶文本標註的柱狀圖

spa app topic tro ins str com png 技術分享 import numpy as npimport matplotlib.pyplot as plt # 生成測試數據x = np.linspace(0, 10, 11)y = 11-x #

python的淺拷貝和深拷貝

end ont code append pen ron 實例 賦值 深拷貝 直接賦值:其實就是對象的引用(別名)。 淺拷貝(copy):拷貝父對象,不會拷貝對象的內部的子對象。 深拷貝(deepcopy): copy 模塊的 deepcopy 方法,完全拷貝了父對象及其

學習Python進行數據提取的方法總結轉載

多個 pandas flow cells nump 特定 blue 和數 index 鏈接:http://www.jb51.net/article/90946.htm 數據提取是分析師日常工作中經常遇到的需求。如某個用戶的貸款金額,某個月或季度的利息總收入,某個特定時間段的

學習python(os)模塊總結

oca python shell link pyc sts osi 模塊 ech Python OS模塊實驗總結 1、os.name(返回正在使用的平臺,Linux顯示為"posix",Windows顯示為"nt") >>> os.name ‘posix