Day 05 Python整型、bool类型及字符串的方法
文章目录
- Day 05 Python整型、bool类型及字符串的方法
- 1. 整型
- 2. Bool布尔类型
- 3. 字符串
- 3.1 定义
- 3.2 独有功能(18/48)
- 3.2.1 判断是否以某个字符串开头,返回布尔值(startswith)
- 3.2.2 判断是否以某个字符串结尾,返回布尔值(endswith)
- 3.2.3 判断一个字符串是否是一个整数,返回布尔值(isdecimal)
- 3.2.4 去除字符串两边的空格、换行符、制表符,得到一个新字符串(strip、lstrip、rstrip)
- 3.2.5 字符串中的字母变成大/小写,得到一个新字符(upper、lower)
- 3.2.6 字符串内容替换(replace)
- 3.2.7 字符串的切割(split)
- 3.2.8 字符串的拼接,得到新的字符串(join)
- 3.2.9 格式化字符串,得到新的字符串(format)
- 3.2.10 字符串转换为字节类型(encode、decode)
- 3.2.11 将字符串内容居中、居左、居右显示(centet、ljust、rjust)
- 3.2.12 帮助填充0(zfill)
- 练习题
- 3.3 公共功能
- 3.4 转换
- 3.5 其他
- 总结
- 作业
常见的数据类型,int、bool、str、list、tuple、dict、set、float
- int,整型数据类型
- float,浮点类型
- str,字符串类型
- bool,布尔类型
- list,列表类型
- set,集合类型
- dict,字典类型
- tuple,元组类型
每种数据类型都有自己的特点及应用场景,以后的开发中需要根据实际的开发情况选择合适的数据类型。
常见数据类型:
- int,整型数据类型
v1 = 123
v2 = 888
v3 = 123456
- float,浮点类型
v1 = 123.10
v2 = 888.12
v3 = 123456.23
- str,字符串类型
v1 = "李"
v2 = "888"
v3 = "ABC"
- bool,布尔类型
v1 = True
v2 = False
- list,列表类型
v1 = [1,2,3]
v2 = ["李冰","李四","lisi"]
- dict,字典类型
v1 = {"v1":1,"v2":2}
v2 = {"name":"China","age":5000}
PS:根据实际业务情况选择合适的数据类型来表示数据
1. 整型
整型其实就是十进制整数的统称,比如: 1、68、999都属于整型。他一般用于表示年龄、序号等。
1.1 定义
number = 10
age = 18
1.2 独有功能
无
v1 =5
#调用v1 (int)的独有功能,获取v1的二进制表示
result=v1.bit_length()
print(result)
v2 =10
#调用v2 (int)的独有功能,获取v2的二进制表示
result1=v2.bit_length()
print(result1)
1.3 公共功能
- 加减乘除
1.4 转换
在项目开发和面试题中经常会出现一些"字符串"和布尔值转换为整型的情况。
#布尔值转整型
n1 = int(True)#True转换为整数1
n2 = int(False)# False转换为整数0
print(n1,n2)
#字符串转整型
v1 = int("122",base = 10) #把字符串看成十进制的值,然后再转换为十进制整数,结果:v1=122
v2 = int("0b1100",base = 2)#把字符串看成二进制的值,然后再转换为十进制整数,结果:v2=12
v3 = int("0o156",base = 8)#把字符串看成八进制的值,然后转换为十进制整数,结果:v3=110
v4 = int("0x2a",base = 16)#把字符串看成十六进制的值,然后转换为十进制整数,结果:v4=42
print(v1,v2,v3,v4)
#一个按二进制、八进制、十进制、十六进制规则存储的字符串时,可以轻松的通过int转换为十进制的整数。
1.5 其他
1.5.1 长整型
Python2中有两种跟整型数据有关的数据类型,int、long,两者都可以表示整数,只是所表达的范围不同。
- int,可表示的范围:-9223372036854775808~9223372036854775807
- long,整数值超出int范围之后自动会转换为long类型(无限制)。
- long类型都是以L作为结尾
- int整数值超出int范围之后自动会转换为long类型(无限制)
Python2中去除了对int的限制不再有long这个类型,只剩下int型且其长度不再收到限制。
1.5.2 地板除
python3:
v1=9/2
print(v1)#4.5
python2:
v1=9/2
print(v1)#4
from __future__ import division
v1=9/2
print(v1)#4.5
2. Bool布尔类型
布尔值:True 、Fals,即真假
2.1 定义
data = False
print(data)
2.2 独有功能
无
2.3 公共功能
无
v1 = True + True
prirt(v1)
#2
2.4 转换
项目开发中,会经常使用其他类型转换为布尔值的情景,此处只要记住一个规律即可。
- 无论转换过来的数据类型是何种数据类型,只要不为空,转为布尔类型时都是True
v1 = bool(0)
v2= boo1(-10)
v3 = boo1 (10)
v4 = bool ("李四")
v5 = bool("")
v6 = bool(" ")
v7= bool([])#[]表示空列表
v8m bool([11,22,33])#[ 11,22,33]表示非空列表
v9= bool({})#表示空字典
v10 m bool( { "name":"武沛齐","age":18}) # ("name":"武沛齐","age":18)表示非空字典
2.5 其他
如果在if 、while条件后面写一个值当做条件时,他会默认转换为布尔类型,然后再做条件判断。
if 123:
print ("太六了")
if 0:
print("你好")
if "alex":
print ("你是**?“)
else:
print ("你是逗比? ")
while 1>9:
pass
if 值:
pass
while 值:
pass
3. 字符串
字符串,文本信息。
3.1 定义
V1 = "李四"
V2 = "ABC"
V3 = """
我是李四
我是李四
我是李四
"""
3.2 独有功能(18/48)
"***".功能(...)
V1 = "李四"
V1.功能(...)
3.2.1 判断是否以某个字符串开头,返回布尔值(startswith)
v1 = "我的名字是,李四"
result = v1.startswith("我的")
print(result)
#True
#案例
v1 = input("请输入住址: ")
if v1.startswith("北京市"):
print("北京人口")
else:
print("非北京人口")
3.2.2 判断是否以某个字符串结尾,返回布尔值(endswith)
v1 = "我的名字是,李四"
result = v1.endswith("李四")
print(result)
#True
#案例
v1 = input("请输入来自: ")
if v1.endswith("北京"):
print("北京人口")
else:
print("非北京人口")
3.2.3 判断一个字符串是否是一个整数,返回布尔值(isdecimal)
v1 = "122"
result = v1.isdecimal()
print(result)
#True
#案例
v1 = input("请输入值:")
v2 = input("请输入值:")
if v1.isdecimal() and v2.isdecimal():
data = int(v1) + int(v2)
print(data)
else:
print("请正确输入数字")
v1 = "123"
print(v1.isdecimal())# True
v2 = "①"
print(v2.isdecimal())# False
v3 = "①"
print(v2.isdigit())# True
#判断整数时,使用isdecimal
3.2.4 去除字符串两边的空格、换行符、制表符,得到一个新字符串(strip、lstrip、rstrip)
user_input = input("请输入:")# 前边有空格
print(user_input)
message = " oh,Ross "
result=message.strip()
print(result)
#oh,Ross
message = " oh,Ross "
result=message.lstrip()
print(result)
# oh,Ross
message = " oh,Ross "
result=message.rstrip()
print(result)
#oh,Ross
#案例
code = input("请输入4位验证码:")
data = code.strip()
if data == "FB87":
print("验证码正确")
else:
print("验证码错误")
- 去除字符串两边的换行符、制表符同理。
message = """
oh,Ross
jack
"""
print(message.strip())
print(message)
#
oh,Ross
jack
oh,Ross
jack
- 同时strip还可以去除字符串两边的指定字符
- lstrip与rstrip同样
message = "我是John,Jack不是我"
print(message)
print(message.strip("我"))
print(message.lstrip("我"))
#我是John,Jack不是我
#是John,Jack不是
#是John,Jack不是我
3.2.5 字符串中的字母变成大/小写,得到一个新字符(upper、lower)
message = "my name is ken"
data = message.upper()
print(message)
print(data)
#my name is ken
#MY NAME IS KEN
message = "MY NAME IS KEN"
data = message.lower()
print(message)
print(data)
#MY NAME IS KEN
#my name is ken
#案例
code = input("请输入4位验证码:")
value = code.upper()#输入验证码时存在输入时是小写的情况
data = value.strip()#同上去除空格
if data == "FB87":
print("验证码正确")
else:
print("验证码错误")
#方法执行后不会改变变量的原有值
3.2.6 字符串内容替换(replace)
data = "我是你爸爸,你爸爸是我"
value = data.replace("爸爸","妈妈")
print(data)
print(value)
#我是你爸爸,你爸爸是我
#我是你妈妈,你妈妈是我
#案例
content = input("请输入评论信息")
content = content.replace("艹","*")
content = content.replace("泥马","**")
print (content)
char_list =["草拟吗","逗比","二蛋","钢球"]
content = input("请输入评论信息")
for item in char_list:
content = content.repalce ( item, "**")
3.2.7 字符串的切割(split)
- 主要是根据特定的字符串进行切割
- 结果保存在列表中
- 默认切割整个字符串
data = "姓名:李四,性别:男,爱好:无,身高:18厘米"
result = data.split(",")
print(data)
print(result)
#姓名:李四,性别:男,爱好:无,身高:18厘米
#['姓名:李四', '性别:男', '爱好:无', '身高:18厘米']
- 也可以指定切割的列表元素个数(从前向后)
data = "姓名:李四,性别:男,爱好:无,身高:18厘米"
result = data.split(",", 1)
print(data)
print(result)
#姓名:李四,性别:男,爱好:无,身高:18厘米
#['姓名:李四', '性别:男,爱好:无,身高:18厘米']
- 也可以从后向前切割
data = "姓名:李四,性别:男,爱好:无,身高:18厘米"
result = data.rsplit(",", 1)
print(data)
print(result)
#姓名:李四,性别:男,爱好:无,升高:18厘米
#['姓名:李四,性别:男,爱好:无', '升高:18厘米']
#案例
info = "admin,root"
user_list = info.split(",")
user_name = input("请输入用户名:")
user_pwd = input("请输入密码:")
if user_name == user_list[0] and user_pwd == user_list[1]:
print("sucessful")
else:
print("fail")
3.2.8 字符串的拼接,得到新的字符串(join)
data_list = ["李四","身高","18厘米"]
v1 = ",".join(data_list)
print(data_list)
print(v1)
#['李四', '身高', '18厘米']
#李四,身高,18厘米
3.2.9 格式化字符串,得到新的字符串(format)
name = "大家好,我叫{0},我的爱好是{1}、{2}、{3}"
data = name.format("坤坤","唱","跳","rap")
print(name)
print(data)
#{0}的爱好有很多。如:{1}、{2}、{3}
#坤坤的爱好有很多。如:唱、跳、rap
message = "大家好,我叫{name},我的爱好是{v1}、{v2}、{v3}"
message1 = message.format("坤坤","唱","跳","rap")
print(name)
print(data)
#{0}的爱好有很多。如:{1}、{2}、{3}
#坤坤的爱好有很多。如:唱、跳、rap
3.2.10 字符串转换为字节类型(encode、decode)
data = "一个小目标"
v1 = data.encode("utf-8")#utf-8字节类型
v2 = data.encode("gbk")#
print(data)
print(v1)
print(v2)
#一个小目标
#b'\xe4\xb8\x80\xe4\xb8\xaa\xe5\xb0\x8f\xe7\x9b\xae\xe6\xa0\x87'
#b'\xd2\xbb\xb8\xf6\xd0\xa1\xc4\xbf\xb1\xea'
r=v1.decode("utf-8")
print(r)
r2=v2.decode("gbk")
print(r2)
#一个小目标
#一个小目标
3.2.11 将字符串内容居中、居左、居右显示(centet、ljust、rjust)
v = "here is johnny"
data = v.center(30,"-")#居中
data1 =v.rjust(30,"-")#居右
data2 =v.ljust(30,"-")#居左
print(v)
print(data)
print(data1)
print(data2)
#here is johnny
#-------here is johnny--------
#---------------here is johnny
#here is johnny---------------
3.2.12 帮助填充0(zfill)
msg = "johnny"
data = msg.zfill(15)
print(msg)
print(data)
#johnny
#000000000johnny
#应用场景处理二进制数据
data ="100"
data1 = data.zfill(8)
print(data1)
练习题
练习题
1.写代码实现判断用户输入的值否以"ai"开头,如果是则输出"是的”否则输出“不是的"
user_input = input("请输入ai数据:")
if user_input.startswith("ai"):
print("是的")
else:
print("不是的")
2.写代码实现判断用户输入的值否以"“Nb"结尾,如果是则输出"是的”否则输出"不是的”
user_input = input("请输入ai数据:")
if user_input.endswith("Nb"):
print("是的")
else:
print("不是的")
3.将name变量对应的值中的所有的"|“替换为“p”,并输出结果
name = "偶|系|你|老|豆"
data = name.replace("|","p")
print(name)
print(data)
#偶|系|你|老|豆
#偶p系p你p老p豆
4.写代码实现对用户输入的值判断,是否为整数,如果是则转换为整型并输入,否则直接输出"请输入数字"
value = input("请输入数字:")
data = value.isdecimal()
while True:
if data:
int(value)
print(value)
break
else:
value = input("请输入数字:")
data = value.isdecimal()
5.对用户输入的数据使用"+""切割,判断输入的值是否都是数字?
提示:用户输入的格式必须是以下+连接的格式,如5+9 、alex+999
msg = input("请输入数字,(以+连接)")
value = msg.split("+",1)
if value[0].isdecimal() and value[1].isdecimal():
print("都是数字!")
else:
print("不都是数字!")
6.写代码实现一个整数加法计算器(两个数相加)
需求:提示用户输入∶5+9或5+9或5+9,计算出两个值的和(提示∶先分割再转换为整型,再相加)
value = input("请输入加法计算式:(x+y)")
value_list = value.split("+")
if value_list[0].isdecimal() and value_list[1].isdecimal():
v1 = int(value_list[0])
v2 = int(value_list[1])
result = v1 + v2
print(result)
else:
print("不都是数字!")
7.写代码实现一个整数加法计算器(两个数相加)
需求︰提示用户输入∶5+9或5+9或5+9,计算出两个值的和(提示∶先分割再去除空白、再转换为整型,再相加)
value = input("请输入加法计算式:(x+y)")
value_list = value.split("+")
v1 = value_list[0].strip()
v2 = value_list[1].strip()
if v1.isdecimal() and v2.isdecimal():
result = int(v1)+ int(v2)
print(result)
else:
print("不都是数字!")
print(v1)
8.补充代码实现用户认证。
需求︰提示用户输入手机号、验证码,全都验证通过之后才算登录成功(验证码大小写不敏感)
import random
code = random.randrange(1000,9999)#生成动态验证码
code = str(code)
msg = "欢迎登录PythonAv系统,您的验证码为:{},手机号为:{}".format(code, "15131266666")
print (msg)
print(code)
#请补充代码
user_phone = input("请输入手机号:")
user_num = input("请输入验证码:")
while True:
if user_phone == "15131266666" and user_num.upper() == code.upper():
print("登录成功")
break
else:
print("登陆失败")
user_phone = input("请输入手机号:")
user_num = input("请输入验证码:")
9.补充代码实现数据拼接
data_list =[]
while True:
hobby = input("请输入你的爱好(Q/q退出): ")
if hobby.upper() == 'Q':
break
#把输入的值添加到 data_list 中,如: data_list =["小姨子"。"哥们的女朋友"]
data_list.append(hobby)
#将所有的爱好通过符号"、"拼接起来并输出
msg = "、".join(data_list)
print(msg)
3.3 公共功能
3.3.1 相加:字符串+字符串
v1 = "alex" + "beautiful"
print(v1)
3.3.2 相乘:字符串*整数
data = "SB" *3
print(data)
3.3.3 长度
data1 = "服了你个老六"
value = len(data1)
print(data1)
print(value)
3.3.4 获取字符串中的字符
message = "你可真是个老六"
i = 0
while i<7 :
print(message[i])
i=i+1
print(message)
# 你
# 可
# 真
# 是
# 个
# 老
# 六
# 你可真是个老六
message = "你可真是个老六"
i = 0
while i<len(message) :
print(message[i])
i=i+1
print(message)
# 你
# 可
# 真
# 是
# 个
# 老
# 六
# 你可真是个老六
- 通过索引获取的字符串值,不能修改,智能获取
message = "你可真是个老六"
i = len(message)-1
while i>=0 :
print(message[i])
i=i-1
print(message)
# 六
# 老
# 个
# 是
# 真
# 可
# 你
# 你可真是个老六
3.3.5 切片,获取字符串中的某一部分字符串(子串)
message = "你可真是个老六"
print(message[0:3])
print(message[5:7])
print(message[:5])
print(message[5:])
#你可真
#老六
#你可真是个
#老六
print(message[2:-2])
#真是个
print(message[2:len(message)])
#真是个老六
- 只能读取不能修改
3.3.6 步长
message = "生活就像一盒巧克力,你永远不知道下一颗是什么味道"
print(message[0:5:1])
#输出:生活就像一,【前两个表示序列区间,最后一个值表示步长(取值间隔),步长默认为1】
print(message[:10:2])
#输出:生就一巧力,【第一个值不写的话默认为从0开始】
print(message[2::4])
#输出:就巧你知颗味,【第二个值不懈的话默认到字符串末尾结束】
print(message[::3])
#输出:生像巧,远道颗么,【前两个值都空白即区间范围不写,表示整个字符串】
print(message[24:5:-1])
#输出:道味么什是颗一下道知不远永你,力克巧,【倒序,前取后不取】
print(message[-1:1:-1])
#道味么什是颗一下道知不远永你,力克巧盒一像就
print(message[::])
#生活就像一盒巧克力,你永远不知道下一颗是什么味道
#面试题:给出一个字符串,请将字符串反转
print(message[len(message)::-1])
print(message[-1::-1])
print(message[::-1])
#道味么什是颗一下道知不远永你,力克巧盒一像就活生
#道味么什是颗一下道知不远永你,力克巧盒一像就活生
#道味么什是颗一下道知不远永你,力克巧盒一像就活生
3.3.7 循环
message = "生活就像一盒巧克力,你永远不知道下一颗是什么味道"
#while
i = 0
while i<len(message):
print(message[i])
i+=1
print("---------------")
#for
for char in message:
print(char)
- range
message = "生活就像一盒巧克力,你永远不知道下一颗是什么味道"
range(10)
range(1,10)#前取后不取
range(1,10,2)#1.3.5.7.9
range(10,1,-1)#10.9.8.7.6.5.4.3.2.1
for i in range(10):
print(i)
# 0
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9
for i in range(len(message)):
print(message[i])
# 生
# 活
# 就
# 像
# 一
# 盒
# 巧
# 克
# 力
# ,
# 你
# 永
# 远
# 不
# 知
# 道
# 下
# 一
# 颗
# 是
# 什
# 么
# 味
# 道
- while 一般应用在无限制,循环次数未知时的情况
- for循环一般应用在已知的循环数量的情况下
3.4 转换
num = 999
value = str(num)
print(value)
#"999"
data_list = {"hohn","nidei",12}
value = str(data_list)
#{12, 'hohn', 'nidei'}
3.5 其他
- 字符串创建以后不可修改
- 我们所做的一系列的操作只是在原字符串的基础上修改后新创建了一个数据接收,源数据不发生改变
总结
1.整型在Python2和Python3中的区别?
2.进制之间的转换。
3.其他类型转换为布尔类型时,空和0为False,其他均为True。
4.条件语句中可自动化转换布尔类型来做判断。
if "123":
print ( 666)
else:
print ( 999)
5.字符串中常见的独有功能(方法)。
6.字符串中常见的公共功能。
7.字符串创建之后是不可以被修改的。
作业
1.请用代码实现如下进制的转换。
v1 =675 #请将v1转换为二进制(字符串类型)
print(bin(v1))
#0b1010100011
v2 = "0b11000101" #请将二进制v2转换为十进制(整型)
print(int(v2,base=2))
#197
v3 = "11000101" #请将二进制v3转换为十进制(整型)
print(int(v3,base=2))
#197
2.按要求实现
现有
v1=123
和v2=456
,请将这两个值转换为二进制,并将其二进制中的前缀0b去掉,然后将两个二进制拼接起来,最终再转换为整型(十进制)。
例如:
123对应二进制为“0b1111011",去除前缀0b之后的二进制为"11110110"456对应二进制为“0b111001000",去除前缀0b之后的二进制为"11100100"
将两个二进制拼接起来的值为:“1111011111001000”,再将此值转换为整型为:
v1 = 123
v2 = 456
v3 = (bin(v1))
print(v3)
v4 = str(bin(v2))
print(v4)
v5 = v3[2:]+v4[2:]
print(v5)
v6 = int(v5,base=2)
print(v6)
# 0b1111011
# 0b111001000
# 1111011111001000
# 63432
v1 = 123
v2 = 456
data = bin(v1)[2:] + bin(v2)[2:]
result = int(data,base=2)
print(result)
3.按要求实现
现有v1=123
和v2=456
,请将这两个值转换为二进制,并将其二进制中的前缀0b去掉,再补足为2个字节(16位),然后将两个二进制拼接起来,最终再转换为整型(十进制)。
例如:
123对应二进制为“0b1111011",去除前缀0b之 后的二进制为"1111011",补足16位为"00000000 01111011"
456对应二进制为0b11100100",去除前缀0b之后的二进制为"11100100",,补足16位为"00000000 11100100""
将两个二进制拼接起来的值为:“00000000011110110000000011100100”,再将此值转换为整型为:
v1 = 123
v2 = 456
v3 = str((bin(v1)))[2:].zfill(16)
print(v3)
v4 = str(bin(v2))[2:].zfill(16)
print(v4)
v5 = v3+v4
print(v5)
v6 = int(v5,base=2)
print(v6)
4.列举你了解的那些数据类型的值转换为布尔值为False。
- 空值
- 0
5.看代码写结果;
if "" :
print (123)
else:
print (456)
#456
if 0:
print (999)
else:
print (666)
#666
if "冬泳怪鸽":
print (345)
else:
print (110)
#345
6.让用户输入一段文本,请实现将文本中的敏感词 奥利给、我恁爹替换为***,最后并输出替换后的文本。
#奥利给世界上只有一种真正的英雄主义,那就是看清生活的真相之后,依然热爱生活。我恁爹
data = input("请输入:")
value = data.replace("奥利给","***")
value2 = value.replace("我恁爹","***")
print(data)
print(value2)
#奥利给世界上只有一种真正的英雄主义,那就是看清生活的真相之后,依然热爱生活。我恁爹
#***世界上只有一种真正的英雄主义,那就是看清生活的真相之后,依然热爱生活。***
7.有变量name = " Ken Nb "完成如下操作:
- 移除name变量对应的值两边的空格,并输出处理结果
name = " Ken Nb "
result=name.strip()
print(result)
#Ken Nb
- 判断name变量是否以"ai”开头,并输出结果(用切片或startswith实现)
name = " Ken Nb "
result=name.startswith("ai")
print(result)
#False
- 判断name变量是否以"“Nb”"结尾,并输出结果(用切片或ends实现)
name = " Ken Nb "
result=name.endswith("ai")
print(result)
#False
- 将name变量对应的值中的所有的"n"替换为"p",并输出结果
name = " Keen Nb "
result=name.replace("n","p")
print(result)
# Keep Nb
- 将name变量对应的值根据所有的" "分割,并输出结果
name = " Ken Nb "
result=name.strip()
print(result)
#Ken Nb
- 将name变量对应的值根据第一个" "分割,并输出结果
name = "Ken Nb"
result=name.split(" ")
print(result)
#['Ken', 'Nb']
- 将name变量对应的值变大写,并输出结果
name = " Ken Nb "
result=name.upper()
print(result)
# KEN NB
- 将name变量对应的值变小写,并输出结果
name = " Ken Nb "
result=name.lower()
print(result)
# ken nb
8.如何实现字符串的翻转?
message = "世界上只有一种真正的英雄主义,那就是看清生活的真相之后,依然热爱生活。"
print(message[len(message)::-1])
print(message[-1::-1])
print(message[::-1])
9.有字符串s = “123a4b5c”
- 通过对s切片形成新的字符串"123”。
s = "123a4b5c"
result = s[0:3]
print(result)
- 通过对s切片形成新的字符串"a4b""。
s = "123a4b5c"
result = s[3:6]
print(result)
- 通过对s切片形成字符串"c"
s = "123a4b5c"
result = s[-1::]
print(result)
- 通过对s切片形成字符串“ba2"
s = "123a4b5c"
result = s[-3::-2]
print(result)
10.使用while循环实现对字符串message = "伤情最是晚凉天,憔悴厮人不堪言"中每个字符进行输出。
message = "伤情最是晚凉天,憔悴厮人不堪言"
i = 0
while i < len(message):
print(message[i])
i+=1
11.使用for循环实现对字符串message ="伤情最是晚凉天,憔悴厮人不堪言”中每个字符进行输出。
message = "伤情最是晚凉天,憔悴厮人不堪言"
for i in range(len(message)):
print(message[i])
12.使用for循环和range实现对字符串message ="伤情最是晚凉天,憔悴厮人不堪言"中每个字符进行倒序输
出。
message = "伤情最是晚凉天,憔悴厮人不堪言"
for i in range(0,-len(message)-1,-1):
print(message[i])
13.使用for循环实现输出倒计时效果,例如︰输出内容依次是:“倒计时3秒”“,“倒计时2秒””“倒计时1秒”"。
import time
for i in range(3,0,-1):
print("倒计时{}秒".format(i))
time.sleep(1)
print("点火")
14.让用户输入一段文本,请计算文本中"浪”出现的次数,并输入结果。
user_input = input("请输入文本:")
i = 0
j = 0
while i < len(user_input):
if user_input[i] == "浪":
j = j+1
i = i + 1
print("浪存在" + str(j) + "次")
user_input = input("请输入文本:")
i = 0
j = 0
while i < len(user_input):
if user_input[i] == "浪":
j = j+1
i = i + 1
print("浪存在{}次".format(j))
15.获取用户两次输入的内容,并提取其中的数字,然后实现数字的相加(转换为整型再相加)︰
"""
要求:
将num1中的的所有数字找到并拼接起来:1232312
将num2中的的所有数字找到并拼接起来:1218323
然后将两个数字进行相加。
"""
#法1
message1 = input("请输入第一组文本:")
message2 = input("请输入第二组文本:")
v1 = ""
v2 = ""
for item in message1:
if item.isdecimal():
v1 = v1 + str(item)
for item in message2:
if item.isdecimal():
v2 = v2 + str(item)
result = int(v1) + int(v2)
print(result)
#法2
message1 = input("请输入第一组文本:")
num1_list = []
for i in message1:
if i.isdecimal():
num1_list.append(i)
data1 = "".join(num1_list)
message2 = input("请输入第二组文本:")
num2_list = []
for i in message2:
if i.isdecimal():
num2_list.append(i)
data2 = "".join(num2_list)
result = int(data1) + int(data2)
print(result)