实验三——字符串的基本处理
二、实验准备
知识点填空
1.单引号,双引号,三单三双引号
2.不可,0,递增,-1,递减
3.取整个字符串
4.字符串拼接,字符串复制,判断是否为子串
5.len(),ord()
6.lower(),split()
7.’我是张无忌,左手拿屠龙刀,右手拿倚天剑‘,‘=======3.1416=======’
8.将任意类型转换为整数类型,将任意类型转换为浮点数类型,将任意类型转换为字符串类型
分析
ab,cdef,gh
ab,cdef,ghab,cdef,gh
ab,cd
AB,CD
True
ab,cdef,ghab,cdef,gh中出现字母a的位置是0
ab,cdef,ghab,cdef,gh中出现字母a的位置是0
出错
-1
['ab', 'cdef', 'ghab', 'cdef', 'gh']
三、实验内容
1.IDLE运行结果:
‘我喜欢Python’
‘我喜欢我喜欢’
‘PythonPythonPython’
出错
True
‘我’
‘我喜’
‘我喜欢’
‘ho’
‘欢喜我’
‘Pto’
'yhn’
True
3
6
2.给定一个字符串"www.moe.gov.cn",编写程序,实现如下功能:
(1)输出第一个字符。
(2)输出前三个字符
(3)输出后三个字符。
(4)输出字符串的总长度。
(5) 输出字符'o'在字符串中第一个位置的索引值(可使用index()方法。
(6)输出字符'o'出现的总次数(可使用count()方法)。
(7)将字符串中所有的“.”替换为“-”并输出。
(8)将字符串中所有的字母全部转换为大写字母并输出。
(9)删除字符串中的标点符号,把字符串拆分为四个字符串。
经过上述操作之后,再次输出该字符串,观察字符串有没有变化,并思考原因。
'''
给定字符串,按要求输出即可
'''
s='www.moe.gov.cn'
print(s[0])
print(s[0:3])
print(s[-3:])
print(len(s))
print(s.index('o'))
print(s.count('o'))
print(s.replace('.','-'))
print(s.upper())
print(s.split('.'))
3.编写程序,自动生成宿舍的组合名。从键盘上依次输入自己和室友的中文名,把所有名字的最后一个字取出来并拼在一起,作为宿舍的组合名,然后输出(假设有三个室友)。
'''
IPO
I输入:自己和三个室友的中文名
O输出:组合名(取自己和室友中文名的最后一个字组成组合名)
P处理数据:通过字符串索引取得最后一个字符
方式一:正向,通过len()函数获取字符串长度,s[len(s)-1]
方式一:反向,s[-1]
'''
name=input("我的名字是:")
cla1_name=input("我第一个室友的名字是:")
cla2_name=input("我第二个室友的名字是:")
cla3_name=input("我第三个室友的名字是:")
#方式一
to_name=name[len(name)-1]+cla1_name[len(cla1_name)-1]+cla2_name[len(cla2_name)-1]+cla3_name[len(cla3_name)-1]
#方式二
to_name=name[-1]+cla1_name[-1]+cla2_name[-1]+cla3_name[-1]
print("我们的组合是:",to_name)
4.编写程序,实现月份数字向英文缩写的转换。从键盘上输入一个表示月份的数字(1~12),输出对应月份的英文缩写,不同月份对应的缩写:1月为Jan,2月为Feb,3月为Mar,4月为Apr,6月为Jun,7月为Jul,8月为Aug,9月为Sep,10月2Oct,11月为Nov,12月为Dec。
'''
IPO
I输入:月份数字(1-12)
O输出:对应月份的英文缩写
P处理数据:
给定月份字符串months = “JanFebMarAprMayJunJulAugSepOctNovDec”
找出数字与对应切片对于的规律
输出还可以采用格式化字符串
'''
m = int(input("请输入数字月份1~12:"))
months = "JanFebMarAprMayJunJulAugSepOctNovDec"
pos = ( m - 1 ) * 3
print(m,"月对应的英文缩写是:",months[pos:pos+3],sep="")
print("{}月对应的英文缩写是:{}".format(m,months[pos:pos+3]))
5.编写程序,实现货币的转换。从键盘上输入人民币的币值,转换为美元的币值并输出,结果保留2位小数。假设人民币兑换美元的汇率是0.1456。
'''
IPO
I输入:人民币以¥结束
O输出:输出人民币可兑换的美元,保留两位小数
可采用字符串格式化
P处理数据:
要将输入的¥去掉,在转换成数值类型的数据进行运算
输入的¥去掉有两种方式
方式一:使用切片的方式
方式二:使用rstrip()方法删掉右端指定字符
'''
money=input("请输入要兑换的人民币币值,以¥结束:")
#方式一:使用切片的方式
re_money=money[:-1]
Re_money=float(re_money)*0.1456 #注意:要把字符串转换成数值类型,才能进行数值运算
print("{}元人民币可以兑换{:.2f}美元".format(re_money,Re_money))
#方式二:使用rstrip()方法删掉右端指定字符
re_money=money.rstrip('¥')
Re_money=float(re_money)*0.1456
print("{}元人民币可以兑换{:.2f}美元".format(re_money,Re_money))
6.编写程序,实现货币的转换。从键盘输入美元的币值,转换为人民币的币值并输出,结果保留2位小数。假设美元兑换人民币的汇率是6.868。
'''
同上题
IPO
I输入:美元以$结束
O输出:输出美元可兑换的人民币,保留两位小数
可采用字符串格式化
P处理数据:
要将输入的$去掉,在转换成数值类型的数据进行运算
输入的$去掉有两种方式
方式一:使用切片的方式
方式二:使用rstrip()方法删掉右端指定字符
'''
money=input("请输入要兑换的美元币值,以$结束:")
#方式一:使用切片的方式
re_money=money[:-1]
Re_money=float(re_money)*6.868 #注意:要把字符串转换成数值类型,才能进行数值运算
print("{}美元可以兑换人民币{:.2f}元".format(re_money,Re_money))
#方式二:使用rstrip()方法删掉右端指定字符
re_money=money.rstrip('$')
Re_money=float(re_money)*6.868
print("{}美元可以兑换人民币{:.2f}元".format(re_money,Re_money))
7.编写程序,实现两种货币的自由转换。预习教材中“选择结构”这一部分的内容,尝试编写一个程序,根据第5题和第6题提供的汇率,从键盘输入货币及对应的货币符号,根据输入的货币符号,自动将输入的货币币值转换为另外一种货币的币值,并输出。
'''
IPO
I输入:人民币或美元
O输出:根据输入的人民币或美元进行兑换,注意保留两位小数
P处理数据:
可通过输入的最后一个字符是¥还是$进行判断s[-1]即可获取
其后操作同上两题
'''
money=input("请输入要兑换币值,以¥或$结束:")
if(money[-1]=="$"):
re_money=money[:-1]
Re_money=float(re_money)*6.868
print("{}美元可以兑换人民币{:.2f}元".format(re_money,Re_money))
else:
re_money=money[:-1]
Re_money=float(re_money)*0.1456
print("{}元人民币可以兑换{:.2f}美元".format(re_money,Re_money))