输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7…位上的字符)
例如: 输入**'abcd1234 ' ** 输出**'bd24'**
str1 = 'abcd1234'
str2 = ''
for i in range(1,len(str1),2):
str2 += str1[i]
print(str2)
输入用户名,判断用户名是否合法(用户名长度6~10位)
name = input('请输入用户名')
if 6 <= len(name) <= 10:
print('合法')
else:
print('不合法')
输入用户名,判断用户名是否合法(用户名中只能由数字和字母组成)
例如: 'abc' — 合法 '123' — 合法 ‘abc123a’ — 合法
name = input('请输入用户名:')
count = 0
for x in name:
if 'a' <= x <= 'z' or 'A' <= x <= 'Z' or '1' <= x <= '9':
count += 1
if count == len(name):
print('合法')
else:
print('不合法')
输入用户名,判断用户名是否合法(用户名必须包含且只能包含数字和字母,并且第一个字符必须是大写字母)
例如: 'abc' — 不合法 '123' — 不合法 'abc123' — 不合法 'Abc123ahs' — 合法 'Abc' — 不合法
name = input('请输入用户名:')
count = 0
if 'A' <= name[0] <= 'Z':
for x in name[1:]:
if 'a' <= x <= 'z' or 'A' <= x <= 'Z' or '1' <= x <= '9':
if '1' <= x <= '9':
count += 1
if count != 0:
print('合法')
break
else:
print('不合法')
if count == 0:
print('不合法')
else:
print('不合法')
输入一个字符串,将字符串中所有的大写字母取出来产生一个新的字符串
例如:输入**'abFc1shj2A3klBs99+2kDkk'** 输出:**'FABD'**
str3 = input('请输入字符串:')
new_str = ''
for x in str3:
if 'A' <= x <= 'Z':
new_str += x
print(new_str)
输入字符串,将字符串的开头和结尾变成'+',产生一个新的字符串
例如: 输入字符串**'abc123', 输出'+bc12+'**
str4 = input('请输入字符串:')
new_str = '+'
for i in range(1,len(str4)-1):
new_str += str4[i]
print(new_str+'+')
输入字符串,获取字符串的中间字符
例如: 输入**'abc1234'** 输出:'1' 输入**'abc123'** 输出**'c1'**
str5 = input('请输入字符串:')
if len(str5)%2 == 1:
print(str5[len(str5)//2]) #3->1 5->2 7->3
else:
print(str5[len(str5)//2-1:len(str5)//2+1]) #2->0,1 4->1,2 6->2,3
(难)写程序实现字符串函数find/index的功能(获取字符串1中字符串2第一次出现的位置)
例如: 字符串1为:how are you? Im fine, Thank you! , 字符串2为:you, 打印8
str1 = 'how are you? Im fine, Thank you!'
str2 = 'you'
for i in range(len(str1)-len(str2)+2):#abcd cd 2,3
# print(str1[i:i+len(str2)])
if str1[i:i+len(str2)] == str2:
print(str2,i)
break
获取两个字符串中公共的字符
例如: 字符串1为:abcaaa123, 字符串2为: huak3 , 打印:公共字符有:a3
str1 = 'abcaaa123'
str2 = 'huak3'
new_str = ''
for i in str1:
if i in str2 and i not in new_str:
new_str += i
print(new_str)
定义一个变量保存一个学生的信息,学生信心中包括:姓名、年龄、成绩(单科)、电话、性别
stu = {'name':'stu1','age':18,'score':98,'tel':'12321','gender':'男'}
定义一个列表,在列表中保存6个学生的信息(学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明) )
统计不及格学生的个数
打印不及格未成年学生的名字和对应的成绩
求所有男生的平均年龄
打印手机尾号是8的学生的名字
打印最高分和对应的学生的名字
删除性别不明的所有学生
将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
stu = [
{'name':'stu1','age':18,'score':98,'tel':'12321','gender':'女'},
{'name':'stu2','age':12,'score':78,'tel':'23802','gender':'女'},
{'name':'stu3','age':23,'score':83,'tel':'12934','gender':'不明'},
{'name':'stu4','age':26,'score':50,'tel':'13243','gender':'不明'},
{'name':'stu5','age':21,'score':62,'tel':'10938','gender':'男'},
{'name':'stu6','age':14,'score':53,'tel':'12248','gender':'男'}
]
# 1.统计不及格学生的个数
count = 0
for x in stu:
if x['score'] < 60:
count += 1
print(count)
print('----------------------华丽的分界线----------------------')
# 2.打印不及格未成年学生的名字和对应的成绩
for x in stu:
if x['score'] < 60 and x['age'] < 18:
print(x['name'],x['score'])
print('----------------------华丽的分界线----------------------')
# 3.求所有男生的平均年龄
sum1 = 0
count1 = 0
for x in stu:
if x['gender'] == '男':
sum1 += x['age']
count1 += 1
print(sum1/count1)
print('----------------------华丽的分界线----------------------')
# 4.打印手机尾号是8的学生的名字
for x in stu:
if x['tel'][-1] == '8':
print(x['name'])
print('----------------------华丽的分界线----------------------')
# 5.打印最高分和对应的学生的名字
max1 = 0
name = ''
for x in stu:
if x['score'] > max1:
max1 = x['score']
name = x['name']
print(name,max1)
print('----------------------华丽的分界线----------------------')
# 6.删除性别不明的所有学生
new_stu = []
for x in stu:
if x['gender'] != '不明':
new_stu.append(x)
print(new_stu)
print('----------------------华丽的分界线----------------------')
# 7.将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
new_stu = []
while True:
for x in stu:
count = 0
for y in stu:
if x['score'] >= y['score']:
count += 1
if count == len(stu):
new_stu.append(x)
stu.remove(x)
if stu == []:
break
print(new_stu)