<python每日学习>02

###最主要学习内容(记忆偏多)

str \\ list \\ bytes \\ dict \\ 运算符 \\ 文件操作

1、基础数据类型

float :小数,浮点数

计算机表示小数是会有误差的,主要是看自己能不能接受这个误差,如果不可以,需要想其他的方法来解决。

#bool:用来做条件判断的,取值范围:True,False

#基础数据类型之间的转化

a = 10

b = bool(a)

print(type(b))

print(b)

在python中,所有非零的数字都是True,零是False;所有的非空字符串都是True,空字符串都是False

综上,在python中,表示空的东西都是False,不空的东西都是True

可以在这里进行应用:               

#str: 把字符连成串,' '," ","' "'引起来的内容被称为字符串

(1)

索引:!!!下标从0开始!!!

str
正序0123
倒序-4-3-2-1
所以,s[3] = s[-1]

切片:可以使用下标来截取部分字符串的内容

基本语法:str[start : end : step]

规则:顾头不顾尾,从start开始截取,截取到end位置,但不包括end

步长: 每几个出来1个, 步长如果为负数,从右向左取,如果是正数,就从左向右取

print(s[1:4]) #end的数据取不到  [start,end]

print(s[3:]) #后面什么都不写,表示切到末尾

print(s[:3]) #前面什么都不写,表示从头开始切

练习1:

回文:上海自来水来自海上

让用户随便输入一句话,判断这句话是否是回文

思路:把这句话倒过来,和原来这句话对比是否相等就可以了

输入:
content = input("请输入字符串:")
s = content[::-1] #从右向左切,从头切到尾
if s == content:
    print("是回文")
else:
    print("不是回文")

输出:

请输入字符串:<<<-
不是回文


请输入字符串:上海自来水来自海上
是回文

(2)

大小写转换:字符串是不可变的对象,所以任何操作对原字符串是不会有任何影响的,所以一定要用变量去接收变换后的字符串。

s.capitalize() #首字母变成大写

s.upper() #全部字母变成大写,可以应用在忽略大小写(忽略大小写时,经常用upper(),因为lower()支持的转小写的比较少,因此更多的用upper())

s.lower() #全部字母变成小写

s.title()  #每个单词首字母大写

s = "i am Jing,I Love You"
s1 = s.capitalize()
print(s1)

s2 = s.lower()
print(s2)

s3 = s.upper()
print(s3)

(3)

切来切去

s.strip() #默认是去掉字符串左右两端的空白 (空格、\t,\n) ,但是字符串里的空白是不会去掉的

常用于用户名、密码输入,后面多加入了空格,但是登录的时候,视觉上不会显示出来,因此需要用strip(),来去除字符串左右两端的空白

username = input("请输入用户名:")
password = input("请输入密码:")
if username == "admin" and password == "123":   #如果用户实际上输入了“admin   "
    print("登录成功!")
else:
    print("登录失败!")

结果:

修改方案:

username = input("请输入用户名:").strip()  #去除字符串两端的 空格 \t \n
password = input("请输入密码:").strip()
if username == "admin" and password == "123":   #如果用户实际上输入了“admin ",也不会影响登录
    print("登录成功!")
else:
    print("登录失败!")

结果:

strip(),还可以用于去掉其他字符

s = "sb_sylar_ssb"
print(s.strip("sb"))

结果:

replace()  #字符串替换

s = "我特别喜欢黄曦彦"
print(s.replace("黄曦彦","***"))

#请去掉一句话中所有的空格
s1 = "    我  爱    你     喜喜"
print(s1.replace(" ",""))

结果:

split()  #字符串切割,在进行数据爬取时,得到的数据会进行切割

s = "张万森_黄曦彦_朴智旻"
print(s.split("_")) #通过_切割,会得到很多个字符串,会以列表方式进行储存

结果:

join()  # 把一个列表组合成一个字符串

lst = ['张万森', '黄曦彦', '朴智旻']
s = "_爱_".join(lst)
print(s)

结果:

查找:

startswith():判断字符串是否以()开头

endswith(): 判断字符串是否以()结尾

name = input("请输入姓名:")
if name.startswith("张"):
    print("YES")
else:
    print("No")

weather = input("请输入今天的天气如何:")
print(weather.endswith("不错"))
print(weather.endswith("很差"))

count() :判断字符串里出现了多少个***,如果没有就返回0

s = "python_java_php_ajex"
print(s.count("a")) #计算字符串中出现了多少个***

结果:

find():    查找字符串,如果找到了就返回索引,找不到-1                                                                 

s = "我最喜欢python了"
print(s.find("哈"))
print(s.find("python"))

 结果:                                                                                                                                                                              index():几乎与find()功能相同,与find()不同的是,如果没有找到会直接报错,而find(),不会直接报错,会返回-1                                                                                                                                    

  len():#求字符串长度。上来直接就能用的函数被称为内置函数,print,input,type,dir     

s = "abc"
a = len(s)
print(a)

结果:

迭代:一般可以用while(),但是for()更简洁

s = "今天晚上吃什么呢"
for c in s:
    print(c)

结果:

                                                                                                                                                

2、while

也可以在while中套if语句

flag = True
while flag:
    content = input("请输入您要说的话(Q退出):")
    if content == 'Q':
        flag = False
    else:
        print("有人说了:"+ content)

把while循环的条件,用变量来控制,后期如果要跳出的话,就可以直接更改变量的值

结束循环的方式1:改变循环条件

流程控制:break,continue

break:结束这个循环

continue:结束当前本次循环,继续执行下一次循环(跳过执行)

结束循环的方式2:使用break,continue

  • 22
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值