-
输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7…位上的字符)
例如: 输入**'abcd1234 ’ ** 输出**‘bd24’**
str1 = input("") new_str = '' for n in range(1, len(str1), 2): new_str += str1[n] print(new_str)
-
输入用户名,判断用户名是否合法(用户名长度6~10位)
username = input('') if 5 < len(username) < 11: print('合法') else: print('不合法')
-
输入用户名,判断用户名是否合法(用户名中只能由数字和字母组成)
例如: ‘abc’ — 合法 ‘123’ — 合法 ‘abc123a’ — 合法
username = input("") n = 0 for x in username: if '0' <= x <= '9' or 'a' <= x <= 'z' or 'A' <= x <= 'Z': n += 1 if n == len(username): print('合法') else: print('不合法')
-
输入用户名,判断用户名是否合法(用户名必须包含且只能包含数字和字母,并且第一个字符必须是大写字母)
例如: ‘abc’ — 不合法 ‘123’ — 不合法 ‘abc123’ — 不合法 ‘Abc123ahs’ — 合法 ‘Abc’ — 不合法
username = input("") # 获取输入用户名 n = 0 # 数字个数默认值为0 z = 0 # 字母个数默认值为0 if 'A' <= username[0] <= 'Z': # 判断首字母是否大写 for x in username: # 获取字符串所有元素怒 if '0' <= x <= '9': # 判断元素类型是否为数字 n += 1 # 元素为数字,数字n个数加1 if 'a' <= x <= 'z' or 'A' <= x <= 'Z': # 判断元素类型是否为字母 z += 1 # 元素类型为字母,字母个数加1 count = n + z # 求字母和数字个数的和 if n > 0 and z > 0 and count == len(username): # 如果和长度相等,就合法 print('合法') else: print('不合法')
-
输入一个字符串,将字符串中所有的大写字母取出来产生一个新的字符串
例如:输入**‘abFc1shj2A3klBs99+2kDkk’** 输出:‘FABD’
str1 = input('') new_str = '' for x in str1: if 'A' <= x <= 'Z': new_str += x print(new_str)
-
输入字符串,将字符串的开头和结尾变成’+',产生一个新的字符串
例如: 输入字符串**‘abc123’, 输出’+bc12+'**
str1 = input('') str2 = '+' + str1 + '+' print(str2)
-
输入字符串,获取字符串的中间字符
例如: 输入**‘abc1234’** 输出:‘1’ 输入**‘abc123’** 输出**‘c1’**
str1 = input('') str2 = '+' for x in range(1, len(str1)-1): str2 += str1[x] str2 += '+' print(str2)
-
(难)写程序实现字符串函数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' n = 1 for x in range(len(str1)): # 获取字符串1下表对应的元素 if str2[0] == str1[x]: # 将字符串2中的第一个元素和字符串1的元素进行比较 count = x # 在第count个数的时候str2的第一个元素与str1的第x个元素相等 if str2[n] == str1[x + n]: # 比较后一位的元素是否相等 n += 1 if n == len(str2): # 全部相等输出count break print(x)
-
获取两个字符串中公共的字符
例如: 字符串1为:abcaaa123, 字符串2为: huak3 , 打印:公共字符有:a3
str1 = 'abcaaa123' str2 = 'huak3' new_str = '' if len(str2) > len(str1): for x in str1: if x in str2: new_str += x print(new_str) else: for x in str2: if x in str1: new_str += x print(new_str)
-
定义一个变量保存一个学生的信息,学生信心中包括:姓名、年龄、成绩(单科)、电话、性别
stu_infor = { 'name':'', 'age':'', 'score':'', 'tel':'', 'sex':'' }
-
定义一个列表,在列表中保存6个学生的信息(学生信息中包括: 姓名、年龄、成绩(单科)、电话、性别(男、女、不明) )
stu_infor = [ {'name': 'tony', 'age': 18, 'score': 78, 'tel': '13215235645', 'sex': '男'}, {'name': 'jony', 'age': 17, 'score': 58, 'tel': '13254385645', 'sex': '女'}, {'name': 'marrny', 'age': 21, 'score': 96, 'tel': '14515235648', 'sex': '男'}, {'name': 'tsadsy', 'age': 22, 'score': 75, 'tel': '13245435645', 'sex': '不明'}, {'name': 'tonsad', 'age': 24, 'score': 48, 'tel': '13214535645', 'sex': '女'}, {'name': 'toadxy', 'age': 18, 'score': 59, 'tel': '1543235648', 'sex': '男'} ]
-
统计不及格学生的个数
n = 0 for info in range(len(stu_infor)): if stu_infor[info]['score'] < 60: n += 1 print(n)
-
打印不及格未成年学生的名字和对应的成绩
for info in range(len(stu_infor)): if stu_infor[info]['score'] < 60 and stu_infor[info]['age'] < 18: print(stu_infor[info]['name'], stu_infor[info]['score'])
-
求所有男生的平均年龄
for i in stu_info: i.stedeffault('sex':None) sum_age = 0 n = 0 for info in stu_infor: if info['sex']=='男' n += 1 sum_age += info['age'] print(sum_age /n))
-
打印手机尾号是8的学生的名字
for info in stu_infor: if info['tel'][-1] == '8': print(info['name']
-
打印最高分和对应的学生的名字
scores = [] for info in stu_infor: scores.append(info['score']) max_score = max(scores) for info1 in range(len(stu_infor)): if stu_infor[info1]['score'] == 96: print(stu_infor[info1]['score'], stu_infor[info1]['name'])
-
删除性别不明的所有学生
nom_stu = [] for info1 in range(len(stu_infor)): if stu_infor[info1]['sex'] != '不明': nom_stu.append(stu_infor[info1]) print(nom_stu)
-
将列表按学生成绩从大到小排序(挣扎一下,不行就放弃)
stu_score = [] for stu in stu_infor: stu_score.append(stu['score']) new_s = sorted(stu_score, reverse=True) new_stuinfo = [] for score in new_s: for stu in stu_infor: if stu['score'] == score: new_stuinfo.append(stu) print(new_stuinfo)
-
字符串和字典作业
于 2023-02-10 20:52:05 首次发布