1. 输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7…位上的字符)。例如: 输入'abcd1234'输出'bd24'
str1 = input('请任意输入一个字符串:')
print(str1[1::2])
2. 输入用户名,判断用户名是否合法(用户名长度6~10位)
非数字、字母和下滑线的用户名在后面的题有实现
name = input('请输入你的用户名:')
# 定义一个装字母和下划线的字符串
letter_str = '_'
# 将所有字母添加到字符串中
for num in range(65, 124):
if 'A' <= chr(num) <= 'Z' or 'a' <= chr(num) <= 'z':
letter_str += chr(num)
temp = True
while temp:
if name[0] not in letter_str:
name = input('用户名不合法,用户名必须是字母和下划线开头,请重新输入:')
continue
elif len(name) < 6 or len(name) > 12:
name = input('用户名不合法,用户名长度必须在6~12之间,请重新输入:')
continue
else:
print('用户名合法')
temp = False
3. 输入用户名,判断用户名是否合法(用户名中只能由数字和字母组成)。例如: 'abc' — 合法 '123' — 合法 ‘abc123a’ — 合法
letter_list = []
for num in range(48, 124):
if 'A' <= chr(num) <= 'Z' or 'a' <= chr(num) <= 'z' or '0' <= chr(num) <= '9':
letter_list.append(chr(num))
name = input('请输入用户名:')
for char in name:
if char not in letter_list:
print('用户名不合法,用户名中只能由数字和字母组成')
break
else:
print('合法')
4. 输入用户名,判断用户名是否合法(用户名必须包含且只能包含数字和字母,并且第一个字符必须是大写字母)。例如: 'abc' — 不合法 '123' — 不合法 'abc123' — 不合法 'Abc123ahs' — 合法
letter_str = ''
for num in range(48, 124):
if 'A' <= chr(num) <= 'Z' or 'a' <= chr(num) <= 'z' or '0' <= chr(num) <= '9':
letter_str += chr(num)
name = input('请输入用户名:')
temp = True
while temp:
if not 'A' <= name[0] <= 'Z':
name = input('用户名不合法,第一个字符必须是大写字母,请重新输入:')
continue
for char in name:
if char not in letter_str:
name = input('用户名不合法,用户名中只能由数字和字母组成,请重新输入:')
break
else:
print('合法')
temp = False
break
5. 输入一个字符串,将字符串中所有的数字字符取出来产生一个新的字符串。例如:输入'abc1shj23kls99+2kkk' 输出:'123992'
str2 = input('请输入一个字符串:')
number_str = ''
for char in str2:
if '0' <= char <= '9':
number_str += char
print(number_str)
6. 输入一个字符串,将字符串中所有的小写字母变成对应的大写字母输出。例如: 输入'a2h2klm12+' 输出 'A2H2KLM12+'
str3 = input('请输入一个字符串:')
str_new = ''
for char in str3:
temp_char = char
if 'a' <= char <='z':
temp_char = chr(ord(char) - 32)
str_new += temp_char
print(str_new)
7. 输入一个小于1000的数字,产生对应的学号例如: 输入'23',输出'py1901023' 输入'9', 输出'py1901009' 输入'123',输出'py1901123'
num = input('请输入一个小于1000的数字:')
new_num = num.rjust(3, '0')
# new_num = num.zfill(3)
print('学号为:py1902%s' % new_num)
8. 输入一个字符串,统计字符串中非数字字母的字符的个数。例如: 输入'anc2+93-sj胡说' 输出:4 输入'===' 输出:3
str1 = input('请输入一个字符串:')
count = 0
for char in str1:
if not '0' <= char <= '9':
count += 1
print('字符串中非数字字母的字符的个数为:%d' % count)
9. 输入字符串,将字符串的开头和结尾变成'+',产生一个新的字符串。例如: 输入字符串'abc123', 输出'+bc12+'
str2 = input('请输入字符串:')
print(str2[1:len(str2)-1].center(len(str2),'+'))
10. 输入字符串,获取字符串的中间字符。例如: 输入'abc1234' 输出:'1' 输入'abc123' 输出'c1'
str2 = input('请输入字符串:')
if len(str2) % 2 == 1:
print(str2[len(str2)//2])
else:
print(str2[len(str2)//2-1:len(str2)//2+1])