python随机数列表变成字符串_Python循环、随机数、列表、元组、字符串、集合、jieba分词...

Python中的循环

while循环:

while 循环条件:

(4个空格)循环体

计算1-100 之间的累加和

sum_num = 0

i = 1

while i <= 100:

#对count进行累加

sum_num += i

#i = i + 1

#python中并没有设置专门的i++操作,使用i+ =1 进行操作

i += 1

print(sum_num)

#5050

break continue在循环中的应用

break是跳出本层循环

continue 跳过本次循环

pass是空语句

计算1-100之间的奇数和

i = 1

sum_num = 0

while i <=100:

#把所有的偶数过滤掉

if i % 2 ==0: #偶数的时候跳出循环

i += 1

continue

sum_num += i

i +=1

print(sum_num)

#2500

生成一定范围内的随机数

导入随机数模块:

from random import randint #左闭右闭

在10-15之间产生随机数:

print(randint(10,15))

验证randint的左闭右闭

while True:

print(randint(10,15))

猜数字游戏:

在控制台中输入 :请给定要猜的最大数字,请给定要猜的最小数字。

eg: [1, 100] 给定数字的区间,电脑在这个区间随机生成一个数字

我们要在1 到100 之间猜出这个数字, 因为一次猜对的可能性小,

我们要在每次猜的时候提示猜大了还是猜小了,

如果猜1次就对,提示你也太厉害了吧,这是高手

如果猜2-5次对,提示恭喜只用了 i次就猜对了数字

如果猜 5次以上,提示,你也太菜了吧, i 次才能猜的出来,洗洗睡吧

代码

from random import randint

max_num =int(input("请给定要猜的最大数字"))

min_num =int(input("请给定要猜的最小数字"))

#随机生成一个数字,让用户猜这个数字

generate_num =randint(min_num,max_num)

count = 0

while True:

count += 1

guess_num = int(input("请输入您要猜的数字"))

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循环

格式:

for 临时变量 in 可迭代对象:

(4个空格) 循环体

示例:

取出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中的奇数和

sum_num = 0

for i in range(1,101,2): #rang(起始位置,终止位置,步长)函数生成的是左闭右开的区间数

sum_num += i

print(sum_num)

用for循环打印打印九九乘法表

for i in range(1,10):

for j in range(1,i+1):

print(j,'x',i ,'=',j*i,end='')

print()

常用数据类型:number,字符串,列表(list),元组(tuple),字典(dict),集合(set)

列表(list):python中的列表和c中数组很像,不同的地方是他可以储存不同的数据类型

list1 =[1,2,'张三','list'] #创建第一个列表

print(type(list1))#

print(list1)#[1, 2, '张三', 'list']

#遍历列表,把元素一个一个取出来

#for 临时变量 in可迭代对象

for x in list1:

print(x)

列表的的增加操作

skill_list = []

for i in range(1,5):

skill = '技能' + str(i)#将数字转化成string类型

#向列表里添加元素

skill_list.append(skill)

print(skill_list)

创建一个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这个数字

if 9 in a :

print('9在a中')

删除

删除技能2这个元素

#del 要删除的列表名[索引]

del skill_list[1]

print('删除后',skill_list)

修改

#修改skill_list最后一个元素为 垂直打击

skill_list[2] = '垂直打击'

print('修改后',skill_list)

元组

创建元组, () 表示元组

a=(1,2,'lisi')

print(type(a))

特点:和列表很相似,只是元组不能进行修改

元组既然不能修改,还跟列表相似,要他有何用?

元组得优点:

1)元祖的速度快于列表

2)不能修改可以带来'写保护',安全

3)元组可以常被作为字典的键使用

4)只有一个元素的元组需在元素后加逗号,避免识别成int类型

字符串的常用操作

特点:

1)字符串创建 可以使用单引号也可以使用双引号

2)涉及到引号的嵌套时可采用外层单引号,里层双引号的方式,相反也可

示例

str1 = 'neusoft'

str2 = "欢迎来到"

str3 = '今天"22"号'

print(str1)

print(str2)

print(str3)

#neusoft

#欢迎来到

replace()替换

示例

price ='¥988'

price=price.replace('¥','')#替换后徐重新赋值price

print(price)

strip() 去两端的空格

示例

name = ' life is short '

print(len(name))

name =name.strip()

print('去空格后',len(name))

join() 主要应用于把列表变成字符串

示例

str_intro = " " 当空字符串中引号之间是什么,转换字符串中间就是什么

li = ["I", "love", "wangzhe"]

#把li变成字符串

str4 = str_intro.join(li)

print(str4)

print(" " .join(li)) #提取列表中的字符串内容时

len()内置函数

功能:

用于检测容器内元素的个数

示例

print(len(str2))

*操作

特点: *代表复制 +代表加

示例

print(str1*3)

print(str1+str(3))或者print(str1+'3')

8)字符串的格式化输出 最流行的是format函数输出

格式:

'{}字符串{}'.format(变量1, 变量2)

示例

hero ='鲁班七号'

grade = 13

print('您当前使用的英雄是{},等级为{}'.format(hero,grade))

#您当前使用的英雄是鲁班七号,等级为13

字典

使用{}创建字典,字典中的每一个元素都以键值对的形式存在,中间用冒号隔开

示例

stu_info = {'name': '刘向东', 'addr': '北京', 'age': '18'}

#print(stu_info)

#字典的访问,通过键访问值

print(stu_info['name'])

#刘向东

1)字典的修改,访问键然后赋值

stu_info['age'] = 50

print('修改后的值',stu_info)

2)增加 当字典中不存在这个键的时候,就是相当于往字典中添加了元素

stu_info['sex'] = 'female'

print('增加后', stu_info)

3)解决访问键不存在时报错情况

print(stu_info.get('sex', 'female'))#当字典中存在该键时

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)转化成字典

print(dict(stu_info_list))

9)字典的遍历输出

for k, v in stu_info.items():

print(k, ';', v)

集合 :

也使用{}表示,只不过{}中没有元素时代表的是空字典

特点:无序,不重复

set1 = {'zhangsan',3333,124}

print(type(set1)) #type表示类型

#

1)集合的遍历

for x in set1:

print(x)

中文分词

英文单词由于单词之间是有空格的,所以不需要分词,中文则不同

这就需要我们使用第三方库来进行分割

jieba结巴粉刺是目前最流行的中文分词库

特点:结巴分词的特点:

支持三种模式:

a)精确模式

seg = '我来北京上大学'

seg_list = jieba.lcut(seg)

print(seg_list)

b)全模式:

cut_all参数用来控制是否采用全模式

将字符串中所有的分词结果都列举出来

特点:全, 缺点:冗余性大

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

print(seg_list1)

c)搜索引擎模式

首先执行精确模式,然后对其中长词进一步切分得到的结果

该模式更倾向于寻找短句,这种方式具有一定的冗余度,但是比全模式要少

seg_list2 = jieba.lcut_for_search('小明硕士毕业于北京航天航空大学')

print(seg_list2)

1)安装jieba结巴分词

pip install jieba

2)导入jieba

import jieba

目前导入模块的方式有两种:

1))import 模块名字

import turtle

import jieba

2))from 模块 import 对象或函数(有需要就导入,可以同时导入多个)

from random import randint

import random

random.randint

总结:

如何选择模式:

a)如果希望对文本词分词准确,不产生冗余 ---> 精确模式

b)如果希望对文本词分词更为准确,不漏点任何分词的可能 ---->全模式

c)如果没想好怎么用, 可以是使用搜素引擎模式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值