Python循環(huán)、隨機數(shù)、列表、元組、字符串、集合、jieba分詞

Python中的循環(huán)

  • while循環(huán):
    while 循環(huán)條件:
    (4個空格)循環(huán)體
計算1-100 之間的累加和
sum_num = 0
i  = 1
while i <= 100:
    #對count進行累加
    sum_num += i
    #i = i + 1
    #python中并沒有設(shè)置專門的i++操作,使用i+ =1 進行操作
    i += 1
print(sum_num)
#5050

break continue在循環(huán)中的應(yīng)用

  • break是跳出本層循環(huán)
  • continue 跳過本次循環(huán)
  • pass是空語句
計算1-100之間的奇數(shù)和
i = 1
sum_num = 0
while i  <=100:
    #把所有的偶數(shù)過濾掉
    if i % 2 ==0: #偶數(shù)的時候跳出循環(huán)
        i += 1
        continue
    sum_num += i
    i +=1
print(sum_num)
#2500

生成一定范圍內(nèi)的隨機數(shù)
導(dǎo)入隨機數(shù)模塊:

from random import randint #左閉右閉

在10-15之間產(chǎn)生隨機數(shù):

print(randint(10,15))

驗證randint的左閉右閉

while True:
print(randint(10,15))

猜數(shù)字游戲:

在控制臺中輸入 :請給定要猜的最大數(shù)字,請給定要猜的最小數(shù)字。
eg: [1, 100] 給定數(shù)字的區(qū)間,電腦在這個區(qū)間隨機生成一個數(shù)字
我們要在1 到100 之間猜出這個數(shù)字, 因為一次猜對的可能性小,
我們要在每次猜的時候提示猜大了還是猜小了,
如果猜1次就對,提示你也太厲害了吧,這是高手
如果猜2-5次對,提示恭喜只用了 i次就猜對了數(shù)字
如果猜 5次以上,提示,你也太菜了吧, i 次才能猜的出來,洗洗睡吧

代碼
from random import randint
max_num =int(input("請給定要猜的最大數(shù)字"))
min_num =int(input("請給定要猜的最小數(shù)字"))
#隨機生成一個數(shù)字,讓用戶猜這個數(shù)字
generate_num =randint(min_num,max_num)
count = 0
while True:
    count += 1
    guess_num = int(input("請輸入您要猜的數(shù)字"))
    if guess_num < generate_num:
        print("您猜小了")
    elif guess_num > generate_num:
        print('您好像猜大了')
    else:
        #猜對的情況
        if count == 1:
            print('你也太厲害了,一次就猜對了,高手')
        elif count > 1 and count <6:
            print('恭喜你只用了‘,count,’次就猜對啦')
        else:
            print('回去洗洗睡吧')
for循環(huán)

格式:
for 臨時變量 in 可迭代對象:
(4個空格) 循環(huán)體

  • 示例:
    取出neusoft中的每一個字母
name = 'neusoft'
#遍歷這個單詞的每一個字母
 for x in name :     #臨時變量不需要提前聲明
     print(x)
  • 求1到100的累加和
sum_num = 0
for i in range(1,101):
     sum_num += i
 print(sum_num)
  • 求1到100中的奇數(shù)和
 sum_num = 0
  for i in range(1,101,2):  #rang(起始位置,終止位置,步長)函數(shù)生成的是左閉右開的區(qū)間數(shù)
     sum_num += i
 print(sum_num)

用for循環(huán)打印打印九九乘法表

for i in range(1,10):
    for j in range(1,i+1):
        print(j,'x',i ,'=',j*i,end='')
    print()

常用數(shù)據(jù)類型:number,字符串,列表(list),元組(tuple),字典(dict),集合(set)

  1. 列表(list):python中的列表和c中數(shù)組很像,不同的地方是他可以儲存不同的數(shù)據(jù)類型
list1 =[1,2,'張三','list']   #創(chuàng)建第一個列表
print(type(list1))#<class 'list'>
print(list1)#[1, 2, '張三', 'list']
 #遍歷列表,把元素一個一個取出來
#for 臨時變量 in可迭代對象
for x in list1:
    print(x)
  • 列表的的增加操作
skill_list = []
for i in range(1,5):
     skill = '技能' + str(i)#將數(shù)字轉(zhuǎn)化成string類型
    #向列表里添加元素
     skill_list.append(skill)
print(skill_list)

創(chuàng)建一個a =[0,1,2,3,....10]的列表

a =[]
for i in range(0,11):
    a.append(i)
print(a)
  • 訪問
    訪問skill_list的第二個元素
print(skill_list[1])
  • 判斷a列表中是否有9這個數(shù)字
if 9 in  a :
    print('9在a中')
  • 刪除
    刪除技能2這個元素
#del 要刪除的列表名[索引]
del skill_list[1]
print('刪除后',skill_list)
  • 修改
#修改skill_list最后一個元素為   垂直打擊
skill_list[2] = '垂直打擊'
print('修改后',skill_list)
  1. 元組
  • 創(chuàng)建元組, () 表示元組
a=(1,2,'lisi')
print(type(a))

特點:和列表很相似,只是元組不能進行修改
元組既然不能修改,還跟列表相似,要他有何用?
元組得優(yōu)點:
1)元祖的速度快于列表
2)不能修改可以帶來'寫保護',安全
3)元組可以常被作為字典的鍵使用
4)只有一個元素的元組需在元素后加逗號,避免識別成int類型

  1. 字符串的常用操作
    特點:
    1)字符串創(chuàng)建 可以使用單引號也可以使用雙引號
    2)涉及到引號的嵌套時可采用外層單引號,里層雙引號的方式,相反也可
  • 示例
str1 = 'neusoft'
str2 = "歡迎來到"
 str3 = '今天"22"號'
print(str1)
print(str2)
print(str3)
#neusoft
#歡迎來到
  1. replace()替換
  • 示例
price ='¥988'
price=price.replace('¥','')#替換后徐重新賦值price
print(price)
  1. strip() 去兩端的空格
  • 示例
name = '  life  is  short  '
print(len(name))
name =name.strip()
print('去空格后',len(name))
  1. join() 主要應(yīng)用于把列表變成字符串
  • 示例
str_intro = " "    當(dāng)空字符串中引號之間是什么,轉(zhuǎn)換字符串中間就是什么
li = ["I", "love", "wangzhe"]
 #把li變成字符串
 str4 = str_intro.join(li)
 print(str4)
或
print(" " .join(li))   #提取列表中的字符串內(nèi)容時
  1. len()內(nèi)置函數(shù)
    功能:
    用于檢測容器內(nèi)元素的個數(shù)
  • 示例
print(len(str2))
  1. *操作
    特點: *代表復(fù)制 +代表加
  • 示例
print(str1*3)
print(str1+str(3))或者print(str1+'3')

8)字符串的格式化輸出 最流行的是format函數(shù)輸出
格式:
'{}字符串{}'.format(變量1, 變量2)

  • 示例
hero ='魯班七號'
grade = 13
print('您當(dāng)前使用的英雄是{},等級為{}'.format(hero,grade))
#您當(dāng)前使用的英雄是魯班七號,等級為13
  1. 字典
    使用{}創(chuàng)建字典,字典中的每一個元素都以鍵值對的形式存在,中間用冒號隔開
  • 示例
stu_info = {'name': '劉向東', 'addr': '北京', 'age': '18'}
#print(stu_info)
#字典的訪問,通過鍵訪問值
print(stu_info['name'])
#劉向東

1)字典的修改,訪問鍵然后賦值

stu_info['age'] = 50
print('修改后的值',stu_info)

2)增加 當(dāng)字典中不存在這個鍵的時候,就是相當(dāng)于往字典中添加了元素

stu_info['sex'] = 'female'
print('增加后', stu_info)

3)解決訪問鍵不存在時報錯情況

print(stu_info.get('sex', 'female'))#當(dāng)字典中存在該鍵時

4)刪除
del 字典['鍵']

del stu_info['sex']
print('刪除后的',stu_info)

5)返回字典所有的鍵 k

print(stu_info.keys())

6)#返回字典中所有的值 v

print(stu_info.values())

7)返回所有鍵值對:
返回形式是列表,列表中的每一個元素都是一個元組

print(stu_info.items())
stu_info_list = stu_info.items()

8)轉(zhuǎn)化成字典

print(dict(stu_info_list))

9)字典的遍歷輸出

for k, v in stu_info.items():
    print(k, ';', v)
  1. 集合 :
    也使用{}表示,只不過{}中沒有元素時代表的是空字典
    特點:無序,不重復(fù)
set1 = {'zhangsan',3333,124}
print(type(set1))  #type表示類型
#<class 'set'>

1)集合的遍歷

for x in set1:
    print(x)

中文分詞

英文單詞由于單詞之間是有空格的,所以不需要分詞,中文則不同
這就需要我們使用第三方庫來進行分割
jieba結(jié)巴粉刺是目前最流行的中文分詞庫
特點:結(jié)巴分詞的特點:
支持三種模式:
a)精確模式

seg = '我來北京上大學(xué)'
seg_list = jieba.lcut(seg)
print(seg_list)

b)全模式:
cut_all參數(shù)用來控制是否采用全模式
將字符串中所有的分詞結(jié)果都列舉出來
特點:全, 缺點:冗余性大

seg_list1 = jieba.lcut(seg, cut_all=True)
print(seg_list1)

c)搜索引擎模式
首先執(zhí)行精確模式,然后對其中長詞進一步切分得到的結(jié)果
該模式更傾向于尋找短句,這種方式具有一定的冗余度,但是比全模式要少

seg_list2 = jieba.lcut_for_search('小明碩士畢業(yè)于北京航天航空大學(xué)')
print(seg_list2)

1)安裝jieba結(jié)巴分詞

pip install jieba

2)導(dǎo)入jieba

import jieba
  • 目前導(dǎo)入模塊的方式有兩種:
    1))import 模塊名字
import turtle
import jieba

2))from 模塊 import 對象或函數(shù)(有需要就導(dǎo)入,可以同時導(dǎo)入多個)

from random import randint
或
import random
random.randint
總結(jié):

如何選擇模式:
a)如果希望對文本詞分詞準確,不產(chǎn)生冗余 ---> 精確模式
b)如果希望對文本詞分詞更為準確,不漏點任何分詞的可能 ---->全模式
c)如果沒想好怎么用, 可以是使用搜素引擎模式

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容