基礎(chǔ)語言入門:從零開始學(xué)python

洋洋灑灑蛔溃,就這樣,我正式進入了學(xué)習(xí)python的坑篱蝇,沒想到學(xué)過c贺待,C++,java之后零截,即將入新坑麸塞。自從不寫程序,好像每次都很難靜下來瞻润,迷茫了許久喘垂,這一次學(xué)習(xí)python 好像又重新找回了那種能夠沉浸下來學(xué)習(xí)的感覺,就像以前一樣绍撞。

繼上次的變量及數(shù)值類型正勒、序列及通用操作,接下來主要是字典映射傻铣、條件判斷及循環(huán)語句章贞、函數(shù)、模塊與包以及數(shù)據(jù)的讀寫五部分非洲。

字典映射:字典映射幕布地址

字典映射

條件判斷及循環(huán)語句:條件判斷及循環(huán)語句

條件判斷及循環(huán)語句

函數(shù):函數(shù)

函數(shù)

模塊與包:模塊與包

模塊與包

數(shù)據(jù)的讀與寫:數(shù)據(jù)的讀與寫

數(shù)據(jù)讀寫

小項目整理:

【項目01】 商鋪數(shù)據(jù)加載及存儲 作業(yè)要求:

1鸭限、成功讀取“商鋪數(shù)據(jù).csv”文件

2、解析數(shù)據(jù)两踏,存成列表字典格式:[{'var1':value1,'var2':value2,'var3':values,...},...,{}]

3败京、數(shù)據(jù)清洗:

????① comment,price兩個字段清洗成數(shù)字

????② 清除字段缺失的數(shù)據(jù)

????③ commentlist拆分成三個字段梦染,并且清洗成數(shù)字

4赡麦、結(jié)果存為.pkl文件

#讀取數(shù)據(jù)

f = open(r'E:\自我管理\數(shù)據(jù)分析\數(shù)據(jù)分析python\課件\CLASSDATA_ch02基礎(chǔ)語言入門:從零開始學(xué)習(xí)Python\商鋪數(shù)據(jù).csv',

? ? ? ? 'r',encoding = 'utf8')

for i in f.readlines()[:5]:

? ? print(i.split(','))

f.seek(0)

f.close()

print("讀取完成")

#comment字段清洗為數(shù)字

def fcm(s):

? ? if '條' in s:

? ? ? ? return int(s.split(' ')[0])

? ? else:

? ? ? ? return '缺失數(shù)據(jù)'

#price清洗為數(shù)字

def fpr(s):

? ? if '¥' in s:

? ? ? ? return float(s.split('¥')[-1])

? ? else:

? ? ? ? return? '缺失數(shù)據(jù)'

#commentlist拆分為三個字段并清洗為數(shù)字

def fcl(s):

? ? if ' ' in s:

? ? ? ? quality = float(s.split()[0][2:])

? ? ? ? environment = float(s.split()[1][2:])

? ? ? ? service = float(s.split()[2][2:-1])

? ? ? ? return [quality,environment,service]

? ? else:

? ? ? ? return? '缺失數(shù)據(jù)'

#解析數(shù)據(jù)

f = open('E:\\自我管理\\數(shù)據(jù)分析\\數(shù)據(jù)分析python\\課件\\CLASSDATA_ch02基礎(chǔ)語言入門:從零開始學(xué)習(xí)Python\\商鋪數(shù)據(jù).csv',

? ? ? ? 'r',encoding = 'utf8')

datalst = []? # 創(chuàng)建空列表朴皆,用于存儲字典格式的數(shù)據(jù)

n = 0? # 創(chuàng)建計數(shù)變量

for i in f.readlines():

? ? data = i.split(',')? #將該行數(shù)據(jù)按','分離開

? ? classify = data[0]? ? ? ? ? ? # 提取分類

? ? name = data[1]? ? ? ? ? ? ? ? # 提取店鋪名稱

? ? comment_count = fcm(data[2])? # 提取評論數(shù)量

? ? star = data[3]? ? ? ? ? ? ? ? # 提取星級

? ? price = fpr(data[4])? ? ? ? ? # 提取人均

? ? add = data[5]? ? ? ? ? ? ? ? ? # 提取地址

? ? qua = fcl(data[6])[0]? ? ? ? ? # 提取質(zhì)量評分

? ? env = fcl(data[6])[1]? ? ? ? ? # 提取環(huán)境評分

? ? ser = fcl(data[6])[2]? ? ? ? ? # 提取服務(wù)評分

? ? if? '缺失數(shù)據(jù)' not in [comment_count, price, qua]:? # 用于判斷是否有數(shù)據(jù)缺失

? ? ? ? n += 1

? ? ? ? data_re = [['classify',classify],

? ? ? ? ? ? ? ['name',name],

? ? ? ? ? ? ? ['comment_count',comment_count],

? ? ? ? ? ? ? ['star',star],

? ? ? ? ? ? ? ['price',price],

? ? ? ? ? ? ? ['address',add],

? ? ? ? ? ? ? ['quality',qua],

? ? ? ? ? ? ? ['environment',env],

? ? ? ? ? ? ? ['service',ser]]

? ? ? ? datalst.append(dict(data_re))? # 生成字典,并存入列表datalst

? ? ? ? print('成功加載%i條數(shù)據(jù)' %n)

? ? else:

? ? ? ? continue

print(datalst)

print('總共加載%i條數(shù)據(jù)' %n)

#數(shù)據(jù)存儲.pkl數(shù)據(jù)

import pickle

pic = open('E:\\自我管理\\數(shù)據(jù)分析\\數(shù)據(jù)分析python\\課件\\CLASSDATA_ch02基礎(chǔ)語言入門:從零開始學(xué)習(xí)Python\\data.pkl','wb')

pickle.dump(datalst,pic)

pic.close()

print('finished!')

#讀取pickle

pic = open( 'E:\\自我管理\\數(shù)據(jù)分析\\數(shù)據(jù)分析python\\課件\\CLASSDATA_ch02基礎(chǔ)語言入門:從零開始學(xué)習(xí)Python\\data.pkl', 'rb')

st = pickle.load(pic)

print(st)

pic.close()

項目02

# 題目1:有1泛粹、2遂铡、3、4個數(shù)字晶姊,能組成多少個互不相同且無重復(fù)數(shù)字的兩位數(shù)扒接?都是多少?

# 該題目不用創(chuàng)建函數(shù)

lst = [1,2,3,4]

m = []

n = 0

for i in range(len(lst)):

? ? for j in range(len(lst)):

? ? ? ? if j != i:? #無重復(fù)數(shù)字

? ? ? ? ? ? n += 1

? ? ? ? ? ? m.append(str(lst[i])+str(lst[j]))

? ? ? ? else:

? ? ? ? ? ? continue


print('能組成%i個互不相同且無重復(fù)數(shù)字的兩位數(shù)们衙,\n分別是:'%n)

for i in range(len(m)):

? ? print(m[i])

# 題目2:輸入三個整數(shù)x,y,z钾怔,請把這三個數(shù)由小到大輸出,可調(diào)用input()蒙挑。(需要加判斷:判斷輸入數(shù)據(jù)是否為數(shù)字)

# 提示:判斷是否為數(shù)字:.isdigit()

# 該題目需要創(chuàng)建函數(shù)

def f():

? ? lst = []

? ? for i in range(1,4):

? ? ? ? m = input('請輸入第%i個數(shù)字:'%i)

? ? ? ? while m.isdigit() == False:

? ? ? ? ? ? m = input('輸入為非數(shù)字字符蒂教,請重新輸入第%i個數(shù)字:'%i)

? ? ? ? else:

? ? ? ? ? ? lst.append(int(m))

? ? lst.sort()

? ? print('輸入的三個數(shù)字由小到大排列是:',lst)

f()

# 題目3:輸入一行字符,分別統(tǒng)計出其中英文字母脆荷、空格、數(shù)字和其它字符的個數(shù)懊悯。

# 提示:利用while語句,條件為輸入的字符不為'\n'.

# 該題目不需要創(chuàng)建函數(shù)

strs= list(input('請輸入任意字符:'))? ? #輸入字符串

count = len(strs)

int_count = 0? ? #數(shù)字字符個數(shù)

str_count = 0? ? #英文字母個數(shù)

space_count = 0? #空格個數(shù)

other_count = 0? ? #其他字符個數(shù)

for i in range(count):

? ? count = len(strs)

? ? while strs[i] == '\\':

? ? ? ? if strs[i+1] == 'n':

? ? ? ? ? ? strs = list(input('輸入字符有"\\n"蜓谋,不能繼續(xù)進行,請重新輸入L糠帧桃焕!'))

? ? ? ? ? ? break

? ? ? ? else:

? ? ? ? ? ? other_count +=1

? ? ? ? ? ? break

? ? ? ? break

? ? else:

? ? ? ? if strs[i].isalpha():

? ? ? ? ? ? str_count += 1

? ? ? ? elif strs[i].isspace():

? ? ? ? ? ? space_count += 1

? ? ? ? elif strs[i].isdigit():

? ? ? ? ? ? int_count += 1

? ? ? ? else:

? ? ? ? ? ? other_count +=1

print('輸入的字符串為:%s, '%strs,'字符總數(shù)為:%d'%count)

print ('該字符串中的字符有:%d '%str_count)

print ('該字符串中的數(shù)字有:%d' %int_count)

print ('該字符串中的空格有:%d '%space_count)

print ('該字符串中的特殊字符有:%d' %other_count)

# 題目4:猴子吃桃問題

# 猴子第一天摘下若干個桃子,當(dāng)即吃了一半捧毛,還不癮观堂,又多吃了一個,

# 第二天早上又將剩下的桃子吃掉一半,又多吃了一個呀忧。

# 以后每天早上都吃了前一天剩下的一半零一個师痕。到第10天早上想再吃時,見只剩下一個桃子了而账。求第一天共摘了多少?

# 提示:采取逆向思維的方法胰坟,從后往前推斷。

# 該題目不需要創(chuàng)建函數(shù)

#思路為:第10天還沒吃之前的桃子數(shù)量初始化 p = 1泞辐,之后從9至1循環(huán)9次笔横,

#根據(jù)上述公式反推為 p = (p+1) * 2 可得第1天還沒吃之前的桃子數(shù)量。

p = 1

print('第10天吃之前就剩1個桃子')

for i in range(1, 10):

? ? p = (p+1) * 2

? ? print('第%s天吃之前還有%s個桃子' % (10-i, p))


print('\n第1天共摘了%s個桃子' % p)

# 題目5:猜數(shù)字問題咐吼,要求如下:

# ① 隨機生成一個整數(shù)

# ② 猜一個數(shù)字并輸入

# ③ 判斷是大是小吹缔,直到猜正確

# ④ 判斷時間

# 提示:需要用time模塊、random模塊

# 該題目不需要創(chuàng)建函數(shù)

import time

import random

while True:? #循環(huán)執(zhí)行游戲詢問

? ? play_or_not = input('是否要進行游戲:是 or 否锯茄?')

? ? while play_or_not == '是':


? ? ? ? print('\n******游戲開始******\n')

? ? ? ? c = time.time()

? ? ? ? a = int(input('請輸入猜數(shù)范圍的下界(整數(shù)):'))

? ? ? ? b = int(input('請輸入猜數(shù)范圍的上界(整數(shù)):'))

? ? ? ? num = random.randint(a,b)

? ? ? ? x = int(input('請輸入范圍為[%i,%i]的一個整數(shù):'%(a,b)))

? ? ? ? while x != num:

? ? ? ? ? ? if x > num:

? ? ? ? ? ? ? ? b = x

? ? ? ? ? ? ? ? x = int(input('大了厢塘,請重新輸入[%i,%i]的整數(shù):'%(a,x)))

? ? ? ? ? ? else :

? ? ? ? ? ? ? ? a = x

? ? ? ? ? ? ? ? x = int(input('小了,請重新輸入[%i,%i]的整數(shù):'%(x,b)))

? ? ? ? else:

? ? ? ? ? ? print('恭喜你,猜對了K锥场礁叔!')

? ? ? ? ? ? b = time.time()


? ? ? ? usedtime = b-c

? ? ? ? print('總用時為:%.2f s'%usedtime)

? ? ? ? break

? ? else:

? ? ? ? break

語言的魅力真的是無窮無盡的,你可以用你的想法去完善和拓展一個點迄薄,相似又不同琅关,有時看似只是加了一句簡單的話語,但是其實已經(jīng)完全改變了程序的功能讥蔽,這也許就是越進行涣易,越是樂在其中吧。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末冶伞,一起剝皮案震驚了整個濱河市新症,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌响禽,老刑警劉巖徒爹,帶你破解...
    沈念sama閱讀 222,378評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異芋类,居然都是意外死亡隆嗅,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評論 3 399
  • 文/潘曉璐 我一進店門侯繁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來胖喳,“玉大人,你說我怎么就攤上這事贮竟±龊福” “怎么了?”我有些...
    開封第一講書人閱讀 168,983評論 0 362
  • 文/不壞的土叔 我叫張陵咕别,是天一觀的道長技健。 經(jīng)常有香客問我,道長惰拱,這世上最難降的妖魔是什么凫乖? 我笑而不...
    開封第一講書人閱讀 59,938評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮弓颈,結(jié)果婚禮上帽芽,老公的妹妹穿的比我還像新娘。我一直安慰自己翔冀,他們只是感情好导街,可當(dāng)我...
    茶點故事閱讀 68,955評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著纤子,像睡著了一般搬瑰。 火紅的嫁衣襯著肌膚如雪款票。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,549評論 1 312
  • 那天泽论,我揣著相機與錄音艾少,去河邊找鬼。 笑死翼悴,一個胖子當(dāng)著我的面吹牛缚够,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鹦赎,決...
    沈念sama閱讀 41,063評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼谍椅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了古话?” 一聲冷哼從身側(cè)響起雏吭,我...
    開封第一講書人閱讀 39,991評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎陪踩,沒想到半個月后杖们,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,522評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡肩狂,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,604評論 3 342
  • 正文 我和宋清朗相戀三年胀莹,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片婚温。...
    茶點故事閱讀 40,742評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖媳否,靈堂內(nèi)的尸體忽然破棺而出栅螟,到底是詐尸還是另有隱情,我是刑警寧澤篱竭,帶...
    沈念sama閱讀 36,413評論 5 351
  • 正文 年R本政府宣布力图,位于F島的核電站,受9級特大地震影響掺逼,放射性物質(zhì)發(fā)生泄漏吃媒。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,094評論 3 335
  • 文/蒙蒙 一吕喘、第九天 我趴在偏房一處隱蔽的房頂上張望赘那。 院中可真熱鬧,春花似錦氯质、人聲如沸募舟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拱礁。三九已至琢锋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間呢灶,已是汗流浹背吴超。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鸯乃,地道東北人鲸阻。 一個月前我還...
    沈念sama閱讀 49,159評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像飒责,于是被迫代替她去往敵國和親赘娄。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,747評論 2 361

推薦閱讀更多精彩內(nèi)容