-
输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7…位上的字符)
例如: 输入**'abcd1234 ’ ** 输出**‘bd24’**
str = input("请输入字符串:") for i in range(1,len(str),2): print(str[i])
-
输入用户名,判断用户名是否合法(用户名长度6~10位)
user_name = input("请输入用户名:") if 6<=len(user_name)<=10: print("合法用户名") else: print("用户名非法,用户名应为6~10个字符")
-
输入用户名,判断用户名是否合法(用户名中只能由数字和字母组成)
例如: ‘abc’ — 合法 ‘123’ — 合法 ‘abc123a’ — 合法
use_name = input('请输入用户名:') T = 0 for i in use_name: if 65 <= ord(i) <=90 or 97 <= ord(i) <=122 or 48 <= ord(i) <= 57: continue else: print('用户名非法!用户名中只能由数字和字母组成!') T = 1 break if T == 0: print('合法用户名')
-
输入用户名,判断用户名是否合法(用户名必须包含且只能包含数字和字母,并且第一个字符必须是大写字母)
例如: ‘abc’ — 不合法 ‘123’ — 不合法 ‘abc123’ — 不合法 ‘Abc123ahs’ — 合法 ‘Abc’ — 不合法
use_name = input('请输入用户名:') T, nu, r , Tw, og = 0, 0, 0, 0, 0 for i in use_name: if r == 0: r += 1 if 65 <= ord(i) <=90: nu += 1 continue else: print("用户名非法!第一个字符必须是大写字母") og = 1 break elif 65 <= ord(i) <=90 or 97 <= ord(i) <=122 or 48 <= ord(i) <= 57: if 65 <= ord(i) <=90 or 97 <= ord(i) <=122: nu += 1 elif 48 <= ord(i) <= 57: Tw += 1 continue else: print('用户名非法!用户名中只能由数字和字母组成!') T = 1 break if og !=1: if nu == 0 or Tw == 0: print("用户名非法!用户名必须同时包含数字和字母") elif T == 0: print('合法用户名')
-
输入一个字符串,将字符串中所有的大写字母取出来产生一个新的字符串
例如:输入**‘abFc1shj2A3klBs99+2kDkk’** 输出:‘FABD’
str = input('请输入一个字符串:') str1 = [] num = 0 for i in str: if 65 <= ord(i) <=90: str1.append(i) num += 1 if num != 0: new_str = ''.join(str1) print(new_str) else: print('字符串中没有大写字母!')
-
输入字符串,将字符串的开头和结尾变成’+',产生一个新的字符串
例如: 输入字符串**‘abc123’, 输出’+bc12+'**
str = input('请输入字符串:') str1 = list(str) str1.insert(1,'+') del str1[len(str1)-1] str1.append('+') del str1[0] new_str = ''.join(str1) print(new_str)
-
输入字符串,获取字符串的中间字符
例如: 输入**‘abc1234’** 输出:‘1’ 输入**‘abc123’** 输出**‘c1’**
str = input('请输入字符串:') str2 = list(str) str3 = [] if len(str2) % 2 ==0: str3.append(str2[len(str2)//2 -1]) str3.append(str2[len(str2) // 2]) else: str3.append(str2[len(str2)//2]) print(''.join(str3))
-
(难)写程序实现字符串函数find/index的功能(获取字符串1中字符串2第一次出现的位置)
例如: 字符串1为:how are you? Im fine, Thank you! , 字符串2为:you, 打印8
str1 = 'how are you? Im fine, Thank you!' str = input('请输入要查找的字符串') ls = len(str) n = 0 # print(len(str1),len(str)) for i in range(0,len(str1)-(len(str)-1)): if str1[n:n+ls] == str: print(n) break n += 1
-
获取两个字符串中公共的字符
例如: 字符串1为:abcaaa123, 字符串2为: huak3 , 打印:公共字符有:a3
str1 = 'abcaaa123' str1 = list(str1) str2 = 'huak3' str2 = list(str2) str3 = [] for i in str1: if i in str2: str3.append(i) n = 0 for j in str2: if j == i: del str2[n] n += 1 print(''.join(str3))
-
定义一个变量保存一个学生的信息,学生信心中包括:姓名、年龄、成绩(单科)、电话、性别
student = {'name' : '李华' , 'age' : '22' , 'score':{'语文':99 }, 'tel' : '1343435' , 'gender' : '男' }
-
定义一个列表,在列表中保存6个学生的信息(学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明) )
- 统计不及格学生的个数
- 打印不及格未成年学生的名字和对应的成绩
- 求所有男生的平均年龄
- 打印手机尾号是8的学生的名字
- 打印最高分和对应的学生的名字
- 删除性别不明的所有学生
- 将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
student = [
{'name': 'stu1', 'age': 18, 'math_grade': 96, 'tel': '10088', 'gender': '女'},
{'name': 'stu2', 'age': 17, 'math_grade': 15, 'tel': '10078', 'gender': '男'},
{'name': 'stu3', 'age': 18, 'math_grade': 97, 'tel': '10166', 'gender': '不明'},
{'name': 'stu4', 'age': 21, 'math_grade': 60, 'tel': '10088', 'gender': '女'},
{'name': 'stu5', 'age': 22, 'math_grade': 59, 'tel': '10016', 'gender': '男'},
{'name': 'stu6', 'age': 32, 'math_grade': 99, 'tel': '10081', 'gender': '女'}
]
# 1. 统计不及格学生的个数
num = 0
for i in student:
if i['math_grade'] < 60:
num += 1
print('不及格学生的个数',num)
# 2. 打印不及格未成年学生的名字和对应的成绩
print('-----------------')
for i in student:
if i['math_grade'] < 60 and i['age'] < 18:
print(i['name'],i['age'])
# 3. 求所有男生的平均年龄
print('-------------')
ad = 0
aw = 0
for i in student:
if i['gender'] == '男':
ad += i['age']
aw += 1
if ad != 0:
print(ad/aw)
else:
print('该班没有男性')
# 4. 打印手机尾号是8的学生的名字
print('--------------')
for i in student:
if int(i['tel']) % 10 == 8:
print(i['name'])
# 5. 打印最高分和对应的学生的名字
print('-----------')
max = 0
le , n = 0 , 0
for i in student:
if i['math_grade'] > max:
max = i['math_grade']
n = le
le += 1
print(max,student[n]['name'])
# 6. 删除性别不明的所有学生
print('-------------')
w = 0
for i in student:
if i['gender'] == '不明':
del student[w]
w += 1
print(student)
# 7. 将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
print('----------------')
lst = []
student2 = []
for i in student:
lst.append(i['math_grade'])
lst = sorted(lst)
# print(lst)
for i in lst:
for x in student:
if i == x['math_grade']:
student2.append(x)
print(student2)