深圳大学Python程序设计 实验2 字符串

实验2 字符串

A. 个性化消息

题目描述

输入一个人的名字,假设li ming。输出个性化消息:Hello Li Ming, would you like to learn some Python today? 。

输入

一行,一个人的名字

输出

题目描述中的个性化消息,名字用具体输入替代。

输入样例1

zhao liang

输出样例1

Hello Zhao Liang, would you like to learn some Python today?

AC代码

s = input()
s = s.title()
print(f"Hello {s}, would you like to learn some Python today? ")

B. 第3章-4 查找指定字符

题目描述

编写程序,从给定字符串中查找某指定的字符。

输入

输入的第一行是一个待查找的字符。第二行是一个以回车结束的非空字符串(不超过80个字符)。

输出

假设字符串中肯定包含了需要查找的字符,请在在一行内按照格式“index = 下标”输出该字符在字符串中所对应的最大下标(下标从0开始)。

输入样例1

m
programming

输出样例1

index = 7

AC代码

target = input()
word = input()
# 需要的是下标最大值所以从右往左找,用rindex
num = word.rindex(target)
print("index = %d" % (num))

C. 名字大小写

题目描述

输入一个人的名字,去除前后的空格,以小写、大写、首字母大写的方式显示它。

参考字符串函数strip、lower、upper、title

输入

一行,一个人的名字

输出

三行,分别是人名的小写、大写、首字母大写

输入样例1

wang Ming

输出样例1

wang ming
WANG MING
Wang Ming

AC代码

s = input()
s1 = s.strip()  # 记得去空格
print(s1.lower())
print(s1.upper())
print(s1.title())

D. 合并字符串

题目描述

输入三个字符串,输入三个字符串的开始、结束位置,取三个子串,把它们合并成一个新字符串

输入

连续三行输入三个字符串

连续三行,每行输入数字a和b,表示每个子串的开始和结束位置。位置下标从1开始i。例如字符串abcdefg,开始位置是3,结束位置是5,那么子串就是cde

输出

输出合并后的字符串

输入样例1

abcdefghij
ABCDEFGHIJ
aabbccddee
3,5
2,6
8,10

输出样例1

cdeBCDEFdee

AC代码

s1 = input()
s2 = input()
s3 = input()
a, b = map(int, input().split(","))
c, d = map(int, input().split(","))
e, f = map(int, input().split(","))
s11, s12, s13 = s1[a - 1:b], s2[c - 1:d], s3[e - 1:f]
print(s11 + s12 + s13)

注意

切片操作含头不含尾,字符串下标从0而非1开始,所以切片为s[start-1:end]

E. 第2章-7 产生每位数字相同的n位数

题目描述

读入2个正整数A和B,1≤A≤9, 1≤B≤10, 产生数字AA…A,一共B个A

输入

在一行中输入A和B。

输出

在一行中输出整数AA…A,一共B个A

输入样例1

1, 5

输出样例1

11111

AC代码

num, times = input().split(',')
times = int(times)
res = num * times
print(res)

F. 求字符串的长度

题目描述

求一行字符串的长度。

输入

一行字符串

输出

该字符串的长度

输入样例1

hello world!

输出样例1

12

AC代码

s = input()
print(len(s))

G. 反转字符串

题目描述

输入一字符串,输出反序后的字符串。

输入

一行字符

输出

逆序后的字符串

输入样例1

123456abcdef

输出样例1

fedcba654321

AC代码

s = input()
print(s[::-1])

H. 字符衔接

题目描述

已知两个字符串,把第一个字符串的头3个字符和第二个字符串的末尾3个字符合并成一个新字符串

输入

第一行输入第1个字符串,设定字符串只包含字母或数字,长度大于3

第二行输入第2个字符串,设定字符串只包含字母或数字,长度大于3

输出

输出合并后新的字符串

输入样例1

china1949
szu1983

输出样例1

chi983

输入样例2

2012year
day14

输出样例2

201y14

AC代码

s1 = input()
s2 = input()
s11 = s1[:3]
s12 = s2[-3:]
print(s11 + s12)

I. 解释名字

题目描述

外国人的全名格式如 firstname. lastname,现在输入一个全名,请解释并分别输出他的firstname及lastname。

输入

以点(.)分割的全名

输出

last name

first name

输入样例1

Franklin.Roosevelt

输出样例1

Last name: Roosevelt
First name: Franklin

AC代码

name = input()
fn, ln = name.split(sep='.')
print(f"Last name: {ln}")
print(f"First name: {fn}")

J. 数制转换

题目描述

编程,输入一个10进制正整数,然后输出它所对应的八进制数。

输入

一个10进制正整数

输出

对应的八进制数

输入样例1

10

输出样例1

12

AC代码

num = int(input())
print(f'{num:o}')	# 使用f-string格式控制更简便(o表示八进制)

K. 第3章-20 逆序的三位数

题目描述

程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。

输入

每个测试是一个3位的正整数。

输出

输出按位逆序的数。

输入样例1

123

输出样例1

321

AC代码

num = input()
res = int(num[::-1])
print(res)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值