作业
1.输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7…位上的字符)
例如: 输入'abcd1234 ' 输出'bd24'
str_1 = "hello,world!"
for char in str_1[1::2]:
print(char, end="")
print("")
2.输入用户名,判断用户名是否合法(用户名长度6~10位)
user_name = input("请输入用户名:")
if 6 <= len(user_name) <= 10:
print("此名字合法")
else:
print("此名字不合法")
3.输入用户名,判断用户名是否合法(用户名中只能由数字和字母组成)
str.isalnum()判断用户名是否只由数字和字母组成
例如: 'abc' — 合法 '123' — 合法 ‘abc123a’ — 合法
user_name = input("请输入用户名:")
value_bool = str.isalnum(user_name)
if value_bool:
print("此名字合法")
else:
print("此名字不合法")
4.输入用户名,判断用户名是否合法(用户名必须包含且只能包含数字和字母,
并且第一个字符必须是大写字母)
例如: 'abc' — 不合法 '123' — 不合法 'abc123' — 不合法 'Abc123ahs' — 合法
user_name = input("请输入用户名:")
value_bool = str.isalnum(user_name)
if value_bool:
if 'A' <= user_name[0] <= 'Z':
print("此名字合法")
else:
print("此名字不合法")
else:
print("此名字不合法")
5.输入一个字符串,将字符串中所有的数字字符取出来产生一个新的字符串
例如:输入'abc1shj23kls99+2kkk' 输出:'123992'
str_input = input("请任意输入:")
for i in str_input:
if 48 <= ord(i) <= 57:
print(i, end="")
# print(type(i)) # 2<class 'str'>
6.输入一个字符串,将字符串中所有的小写字母变成对应的大写字母输出
(用upper方法和自己写算法两种方式实现)
例如: 输入'a2h2klm12+' 输出 'A2H2KLM12+'
# upper方法
str_input = input("请任意输入:")
str_1 = str_input.upper()
print(str_1)
# 算法实现
print(ord('a')) # 相差32
print(ord('A'))
str_input = input("请任意输入:")
for i in str_input:
if 'a' <= i <= 'z':
i = ord(i) - 32
i = chr(i)
print(i, end="")
else:
print(i, end="")
7.输入一个小于1000的数字,产生对应的学号
例如: 输入'23',输出'py1901023' 输入'9', 输出'py1901009' 输入'123',输出'py1901123'
num_1 = input("请输入一个小于1000的整数:")
str_1 = "py1901"
stu_id = str_1 + num_1
print(stu_id)
8.输入一个字符串,统计字符串中非数字字母的字符的个数
例如: 输入'anc2+93-sj胡说' 输出:4 输入'===' 输出:3
str_input = input("请任意输入:")
num = 0
length = len(str_input)
for i in str_input:
if 48 <= ord(i) <= 57 or 65 <= ord(i) <= 90 or 97 <= ord(i) <= 122:
num += 1
str_type = length - num
print(str_type)
9.输入字符串,将字符串的开头和结尾变成'+',产生一个新的字符串
例如: 输入字符串'abc123', 输出'+bc12+'
str_input = input("请任意输入:")
length = len(str_input)
for i in range(0, length):
if i == 0 or i == length - 1:
print("+", end="")
else:
print(str_input[i], end="")
10.输入字符串,获取字符串的中间字符
例如: 输入'abc1234' 输出:'1' 输入'abc123' 输出'c1'
str_input = input("请任意输入:")
length = len(str_input)
if length & 1: # 奇数
print(str_input[length // 2])
else:
print(str_input[(length // 2) - 1] + str_input[length // 2])
11.写程序实现字符串函数find/index的功能(获取字符串1中字符串2第一次出现的位置)
例如: 字符串1为:how are you? Im fine, Thank you! , 字符串2为:you, 打印8
str_1 = 'how are you? Im fine, Thank you!'
str_2 = 'you'
length_1 = len(str_1)
length_2 = len(str_2)
for i in range(0, length_2):
for j in range(0, length_1):
if str_2[i] == str_1[j]:
str_1_1 = str_1[j:j+3] # 利用切片判断
if str_1_1 == str_2:
print(j)
break
12.获取两个字符串中公共的字符
例如: 字符串1为:abc123, 字符串2为: huak3 , 打印:公共字符有:a3
str_input_1 = input("请任意输入:")
str_input_2 = input("请任意输入:")
list_1 = []
for i in str_input_1:
for j in str_input_2:
if ord(i) == ord(j):
if i not in list_1:
list_1.append(i)
str_3 = "".join(list_1)
print(str_3)