Python数据类型一

数据类型进阶一

1.1For循环

语法:

for 变量名 in range(n):
	循环体

range()是什么?

语法:

range(start,stop,[step])

start:初始值 stop:终始值 step:步长(默认为1)

注意:range()方法一般生成一段左闭右开的整数范围;

​ 它接收的参数必须是整数,可以是负数,但是不能是浮点数等其它的类型;

​ 它是不可变的序列类型,可以进行判断元素、查找元素、切片等操作,但是不能修改元素

​ 它是可迭代对象,但不是迭代器;

for i in range(1,101,1):
    print(i)

#打印1-100中的偶数
for i in range(0,101,2):
    print(i)

1.1.1关键字break

user=52211001123
code=123456
for i in range(1,4):
    u=input("请输入你的账号:")
    c=input("请输入你的密码:")
    if u==52211001123 and c==123456:
        print("恭喜你,登录成功!")
        break
    else:
        print("对不起,你输入的账号或者密码有误,还有"+str(3-i)+"次机会")
        
请输入你的账号:4414
请输入你的密码:41554155
对不起,你输入的账号或者密码有误,还有2次机会
请输入你的账号:1551656
请输入你的密码:15561652
对不起,你输入的账号或者密码有误,还有1次机会
请输入你的账号:51515115
请输入你的密码:5511616
对不起,你输入的账号或者密码有误,还有0次机会

Process finished with exit code 0

user=52211001123
code=123456
for i in range(1,5):
    u=input("请输入你的账号:")
    c=input("请输入你的密码:")
    if i==4:
        print("账号冻结")
        break
    if u==52211001123 and c==123456:
        print("恭喜你,登录成功!")
        break
    else:
        print("对不起,你输入的账号或者密码有误,还有"+str(4-i)+"次机会")
        
请输入你的密码:181825
对不起,你输入的账号或者密码有误,还有3次机会
请输入你的账号:15412626
请输入你的密码:24556165
对不起,你输入的账号或者密码有误,还有2次机会
请输入你的账号:415411626
请输入你的密码:541556
对不起,你输入的账号或者密码有误,还有1次机会
请输入你的账号:15416525
请输入你的密码:651561562
账号冻结

Process finished with exit code 0

实现方法有很多,以上都可以

1.1.2continue关键词

break和continue区别:

break:退出整个循环

continue:退出本次循环,继续执行下一次循环

1.2循环嵌套

for i in range(1,10):
    for j in range(1,10):
        print("房间号:"+str(i)+"0"+str(j))
....        
房间号:808
房间号:809
房间号:901
房间号:902
房间号:903
房间号:904
房间号:905
房间号:906
房间号:907
房间号:908
房间号:909

Process finished with exit code 0
i=1
while i<6:
    for j in range(1,10):
        print(str(i)+"0"+str(j))
    i+=1
....
408
409
501
502
503
504
505
506
507
508
509

Process finished with exit code 0

2、数据类型

基本数据类型可以分为三类:数值类型、序列类型、散列类型

数值类型:整数型int、浮点型float、布尔类型bool、复数类型complex

序列类型:字符串str、列表list=[]、元组touple={}

散列类型:集合set={}、字典di={“”,“”,“”}

序列类型:指一块可以存放多个值的连续内存空间,这些值按照一定的顺序排列,可以通过每个值所在的位置的编号(索引)访问他们

str1="CSDN博客论坛"
print(str1[0])
print(str1[7])
print(str1[-1])
print(str1[-8])

C
坛
坛
C

Process finished with exit code 0

2.1可变类型和不可变类型

不可变类型:数字、字符串、元组

可变类型:列表、字典、集合

s="sdadqwdq"
print(s)
s[0]="a"
print(s)

Traceback (most recent call last):
  File "E:\InPrg\ProPrg\Program Folder\code\test_python\1117.py", line 59, in <module>
    s[0]="a"
TypeError: 'str' object does not support item assignment
sdadqwdq

Process finished with exit code 1

因为s是字符串类型,属于不可变类型,所以报错

2.1.1字符串(增、删、改、查)

2.1.1.1 find()

范围性查找子串,返回索引值,没有就返回-1

语法:

str.find(str,beg=0,end=len(string))

·str——》指定检索的字符串

·beg——》开始索引,默认值是0

·end——》结束索引,默认字符串的长度

·len——》字符串长度

find()方法常用于检测字符串中是否包含子字符串str

s="hello,world"
print(s.find("h"))
print(s.find("world"))
print(s.find("woelld"))

0
6
-1

Process finished with exit code 0

find()只能找到一个子串的下标,默认是从下标0开始找到最后

s="python,helloworld,java,php"
print(s.find("h"))
print(s.find("h",10))

3
24

Process finished with exit code 0
2.3.1.2 index()

检测字符串中是否包含字符串str,如果指定beg(开始)和end(结束)范围,则检测是否包含在指定的范围内,这个方法与find()方法一样,只不过如果str不在string中会报错,而不是返回-1

s="python,helloworld,java,php"
print(s.index("h"))
print(s.index("hhh",10))

3
Traceback (most recent call last):
  File "E:\InPrg\ProPrg\Program Folder\code\test_python\1117.py", line 70, in <module>
    print(s.index("hhh",10))
ValueError: substring not found

Process finished with exit code 1

2.3.1.3 count()

返回找到的字符串个数

s="python,helloworld,java,php"
print(s.count("h"))
print(s.count("l"))

3
3

Process finished with exit code 0
2.3.1.4 strip()

去除字符串两边的空格

code=input("请输入4位数的验证码:")
data=code.strip()
if data=="ABCD":
    print("验证码正确")
else:
    print("验证码错误")
    
请输入4位数的验证码:    ABCD
验证码正确

Process finished with exit code 0
2.3.1.5 startswith()、endswith()

·判断字符串是否以XX开头/结尾,得到的是一个布尔值,即False/True

zhuzhi=input("请输入住址:")
if zhuzhi.startswith("北京市"):
    print("北京人口")
else:
    print("非北京人口")
    
请输入住址:北京市朝阳区
北京人口

Process finished with exit code 0

2.3.1.6 isdigit()

判断字符串是否是数字组成,返回结果为True/

v1=input("请输入值1:")
v2=input("请输入值2:")
if v1.isdigit() and v2.isdigit():
    data=int(v1)+int(v2)
    print(data)
else:
    print("请输入正确的数字")
    
请输入值184
请输入值244
128

Process finished with exit code 0
2.3.1.7 lower()、upper()

·字符串大写/小写,得到的是一个新的字符串

lower——》转小写

upper——》转大写

s="C"
s1=s.lower()
print(s1)
s2=s1.upper()
print(s2)

c
C

Process finished with exit code 0
2.3.1.8 split()

切分字符串,将字符串类型转列表,默认以空格切分,也可以指定字符切分

s="my name is yi xiao chuan"
print(s.split())
s1="python,php,java"
print(s1.split(","))

['my', 'name', 'is', 'yi', 'xiao', 'chuan']
['python', 'php', 'java']

Process finished with exit code 0

2.3.1.9 replace()

·字符串内容的替换,得到一个新的字符串

content=input("请输入评论信息:")
content1=content.replace("cao","*")
print(content1)

请输入评论信息:caocaocao
***

Process finished with exit code 0
2.3.1.10 join()

用于将序列中的元素以指定字符串连接生成一个新的字符串

常用与将列表类型转换为字符串

a=["xiaochuan","yirong","haopengyou","wanmei"]
print("".join(a))
print("-".join(a))

xiaochuanyironghaopengyouwanmei
xiaochuan-yirong-haopengyou-wanmei

Process finished with exit code 0

2.3.3字符串的公共功能

也就是字符串可以用,其它类型也可以用

·字符串是一个有序的字符集合,按照顺序排列数据类型python都为其赋予了索引的概念

·索引是从零开始的

2.3.3.1正向取(从左到右)、反向取(从右到左)
str1="hello python"
#正向取
print(str1[0])
print(str1[6])
#反向取
print(str1[-4])

h
p
t

Process finished with exit code 0

正着从0算,倒着从-1算,若超出范围则报错,下标越界

str1="hello python"
print(str1[len(str1)-1])
print(str1[-len(str1)])

n
h

Process finished with exit code 0

2.3.3.2切片(顾头不顾尾,步长)

取出索引的所有字符

str1="hello python"
print(str1[0:9])

hello pyt

Process finished with exit code 0
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值