字符串索引和切片及经典实例
索引
#索引
message = "我叫齐天大圣"
#获取正数第三个字
print(message[2])
#获取最后一个字
print(message[-1])
齐
圣
切片
str[开始值:结束值:步长],和range相同,开始值包括本身,但结束值不包括本身
#打印第一个到第二个字
print(message[0:2])
#打印第一个到第二个字,如果不写开始值,则默认开头第一个字
print(message[:2])
#打印最后两个字,注意不能写[-2:-1]因为结束值是不包括本身的,所以直接不写结束值直接表示最后一个字
print(message[-2:])
我叫
我叫
大圣
#取“大天齐”,取倒序则需要用到步长,步长默认为1,则为正序一个一个取,倒序一个一个取则步长为-1
print(message[-2:-5:-1])
#如果不用步长为-1则会无法显示
print(message[-2:-5])
大天齐
#圣大天齐叫我
print(message[::-1])
圣大天齐叫我
索引越界会报错,例如message[7],切片越界不会报错,例如message[2:7]
#步长为2
print(message[::2])
我齐大
str1 = input("请输入一串字符串:")
print(str1[1])
print(str1[-1])
print(str1[-3])
print(str1[:2])
print(str1[::-1])
if len(str1)%2 != 0: #如果字符串长度为奇数
print(str1[len(str1)//2]) #打印正中间的字符
请输入一串字符串:你的人生改变了
的
了
改
你的
了变改生人的你
生
name = "悟空"
age = 800
score = 99.5
print("我叫%s,今年%d岁,成绩是%f分"%(name,age,score))
name = "悟空"
age = 800
score = 99.5
print("我叫%s,今年%d岁,成绩是%.1f分"%(name,age,score))
#或者
print("我叫%s,今年%d岁,成绩是%.1f分"%("悟空",800,99.5))
我叫悟空,今年800岁,成绩是99.500000分
我叫悟空,今年800岁,成绩是99.5分
我叫悟空,今年800岁,成绩是99.5分
d = int(input("请输入矩形边长:"))
i = 0
print("*"*d)
while i<d-2:
print("*"+" "*(d-2)+"*")
i += 1
print("*"*d)
#在控制台输入一句话,判断是否为回文,例如:上海自来水来自海上
while True:
sentence = input("请输入一段话:")
if sentence:
if sentence == sentence[::-1]:
print("这句话是回文")
else:
print("这句话不是回文")
else:
break
请输入一段话:上海自来水来自海上
这句话是回文
请输入一段话:
#小球每落地可以弹起来到落下高度的一半,弹起高度低于0.01m后落地不再反弹,问球共弹了多少次,在空中走了多少m
height = float(input("小球落下的高度(米):"))
times = 0
distance = height #第一次的高度height是只有落下没有弹回的,只有一次,所以最开始distance要等于height
#while height>=0.01: #落下时的高度大于0.01,所以最后一次弹起后的高度是不及0.01m的,但是因为落下时的高度是大于0.01m,
#于是还是记了一次弹起,实际上弹不起,所以要减一次
while height/2 >= 0.01: #这个才符合题意,弹起后的高度要大于0.01m才能弹起。
height /= 2
distance += height * 2 #*2因为有来回,但是第一次的高度height是只有落下没有弹回的,只有一次,所以最开始distance要等于height。
times += 1
print("弹起了%d次"%times)
print("在空中走了%f米"%distance)
小球落下的高度(米):100
弹起了13次
在空中走了299.975586米
#找字符串最后一个字符有两种方法:
str1 = "我是你爹"
print(str1[-1]) #取倒数第一个
print(str1[len(str1)-1]) #取正数最后一个
爹
爹
扫描二维码关注公众号,回复:
11933208 查看本文章