day8:作业

  1. 输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7…位上的字符)
    例如: 输入'abcd1234 ' 输出'bd24'
def print_odd(str1): for index in range(1,len(str1),2): print(str1[index],end='')

  1. 输入用户名,判断用户名是否合法(用户名长度6~10位)
def len_user(user): if 6 < len(user) < 10: print('合法') else: print('不合法')

  1. 输入用户名,判断用户名是否合法(用户名中只能由数字和字母组成)
    例如: 'abc' — 合法 '123' — 合法 ‘abc123a’ — 合法
def decide_user(user): if user.isalnum(): print('合法') else: print('不合法')

  1. 输入用户名,判断用户名是否合法(用户名必须包含且只能包含数字和字母,并且第一个字符必须是大写字母)
    例如: 'abc' — 不合法 '123' — 不合法 'abc123' — 不合法 'Abc123ahs' — 合法
def decide_user1(user): if user.isalnum() and 65 <= ord(user[0]) <= 90: print('合法') else: print('不合法')

  1. 输入一个字符串,将字符串中所有的数字字符取出来产生一个新的字符串
    例如:输入'abc1shj23kls99+2kkk' 输出:'123992'
def new_string(user): for char in user: if not 48 <= ord(char) <= 57: user = user.replace(char,'') return user

  1. 输入一个字符串,将字符串中所有的小写字母变成对应的大写字母输出 (用upper方法和自己写算法两种方式实现)
    例如: 输入'a2h2klm12+' 输出 'A2H2KLM12+'
def upper_string(user): user = user.upper() return user def upper_string1(user): for char in user: if 97<= ord(char) <= 122: user = user.replace(char,chr(ord(char)-32)) return user

  1. 输入一个小于1000的数字,产生对应的学号
    例如: 输入'23',输出'py1901023' 输入'9', 输出'py1901009' 输入'123',输出'py1901123'
def student_id(num): num = str(num).zfill(3) print('py1901{}'.format(num))

  1. 输入一个字符串,统计字符串中非数字字母的字符的个数
    例如: 输入'anc2+93-sj胡说' 输出:4 输入'===' 输出:3
def count_not_num(user): count = 0 for char in user: if not(48 <= ord(char) <= 57 or 65 <= ord(char) <= 90 or 97 <= ord(char) <= 122): count += 1 print(count)

  1. 输入字符串,将字符串的开头和结尾变成'+',产生一个新的字符串
    例如: 输入字符串'abc123', 输出'+bc12+'
def new_string_start(user): user = user.replace(user[0],'+') user = user.replace(user[-1],'+') print(user)

  1. 输入字符串,获取字符串的中间字符
    例如: 输入'abc1234' 输出:'1' 输入'abc123' 输出'c1'
def middle_string(user): if len(user) & 1: print(user[len(user)//2]) else: print(user[len(user)//2 - 1],user[len(user)//2],sep='')

  1. 写程序实现字符串函数find/index的功能(获取字符串1中字符串2第一次出现的位置)
    例如: 字符串1为:how are you? Im fine, Thank you! , 字符串2为:you, 打印8
def find(string,char): for index in range(len(string)-2): if string[index:index+len(char)] == char: print(index) break

  1. 获取两个字符串中公共的字符
    例如: 字符串1为:abc123, 字符串2为: huak3 , 打印:公共字符有:a3
def public_char(string1,string2): print(''.join(set(string1)&set(string2)))

    推荐阅读