1. 输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7…位上的字符)
例如: 输入'abcd1234 ' 输出'bd24'
# 方法一:切片
str1 = str1 = input('请输入一个字符串:')
print(str1[1::2])
# 方法二:遍历
str1 = input('请输入一个字符串:')
for index in range(len(str1)):
if index % 2 != 0:
print(str1[index], end='')
# 方法三:遍历
str1 = str1 = input('请输入一个字符串:')
for index in range(1, len(str1), 2):
print(str1[index], end='')
2. 输入用户名,判断用户名是否合法(用户名长度6~10位)
name = input('请输入用户名:')
a = len(name)
if a <= 6 or a >= 10:
print('该用户名%s不合法' % name)
else:
print('该用户名%s合法' % name)
name = input('请输入用户名:')
a = len(name)
if 6<= a <= 10:
print('该用户名%s合法' % name)
else:
print('该用户名%s不合法' % name)
3. 输入用户名,判断用户名是否合法(用户名中只能由数字和字母组成)
例如: 'abc' — 合法 '123' — 合法 ‘abc123a’ — 合法
name = input('请输入你的用户名:')
for char in name:
if not('A' <= char <= 'Z' or 'a' <= char <= 'z' or '0' <= char <= '9'):
print('用户名%s不合法' % name)
break
else:
print('用户名%s合法' % name)
4. 输入用户名,判断用户名是否合法(用户名必须包含且只能包含数字和字母,并且第一个字符必须是大写字母)
例如: 'abc' — 不合法 ; '123' — 不合法; 'abc123' — 不合法; 'Abc123ahs' — 合法
name = input('请输入你的用户名:')
count = 0 # 数字的个数
if 'A' <= name[0] <= 'Z':
for char in name[1:]:
if not('A' <= char <= 'Z' or 'a' <= char <= 'z' or '1' <= char <= '9'):
print('用户名%s不合法,包含其他字符' % name)
break
else:
if '1'<= char <= '9':
count += 1
else:
if count == 0:
print('不合法,没有包含数字')
else:
print('合法')
else:
print('用户名%s不合法,首字母不是大写' % name)
5. 输入一个字符串,将字符串中所有的数字字符取出来产生一个新的字符串
例如:输入'abc1shj23kls99+2kkk' 输出:'123992'
value = input('输入一个字符串:')
new_str = ''
for char in value:
if '0' <= char <= '9':
new_str += char
print(new_str)
value = input('输入一个字符串:')
for char in value:
if '0' <= char <= '9':
print(char, end='')
6. 输入一个字符串,将字符串中所有的小写字母变成对应的大写字母输出
例如: 输入'a2h2klm12+' 输出 'A2H2KLM12+'
upper()
# 小写字母转大写字母
char = 'h'
new_char = chr(ord(char) - 32)
print(new_char)
value = input('请输入一个字符串:')
new_str = ''
for char in value:
if 'a' <= char <= 'z':
new_char = chr(ord(char) - 32)
new_str += new_char
else:
new_str += char
print(new_str)
value = input('请输入一个字符串:')
for char in value:
if 'a' <= char <= 'z':
char = char.upper()
print(char, end='')
7. 输入一个小于1000的数字,产生对应的学号
例如: 输入'23',输出'py1901023' 输入'9', 输出'py1902009' 输入'123',输出'py1902123'
value = input('输入一个小于1000的数字:')
char = 'py1902'
print(char + str(value).rjust(3, '0'))
# 方法二
num = int(input('输入一个小于1000的数字:'))
n = 3
z_n = n - len(str(num))
study_id = 'py1902' + '0' * z_n + str(num)
print(study_id)
8. 输入一个字符串,统计字符串中非数字字母的字符的个数
例如: 输入'anc2+93-sj胡说' 输出:4 输入'===' 输出:3
value = input('输入一个字符串:')
count = 0
for char in value:
if '0' <= char <= '9' or 'a' <= char <= 'z' or 'A' <= char <= 'Z':
continue
else:
count += 1
print(count)
9. 输入字符串,将字符串的开头和结尾变成'+',产生一个新的字符串
例如: 输入字符串'abc123', 输出'+bc12+'
value = input('输入一个字符串:')
str1 = value[1:-1]
print('+' + str1 + '+')
10. 输入字符串,获取字符串的中间字符
例如: 输入'abc1234' 输出:'1' 输入'abc123' 输出'c1'
奇数个字符,中是:len // 2
偶数个字符,中是:len // 2, len // 2 -1
str1 = input('输入一个字符串:')
num = len(str1)
if num % 2 == 0:
print(str1[num // 2 -1], str1[num // 2])
else:
print(str1[num // 2])
value = input('输入一个字符串:')
num = int(len(value))
if num % 2 == 0:
num1 = num // 2 - 1
num2 = num // 2
print(value[num1:num2 + 1])
else:
print(value[num // 2])