2019-04-22_day_6代码作业

1

  1. 输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7…位上的字符)
    例如: 输入'abcd1234 ' ** 输出'bd24'**
str_1 = input("str:")
str_2 = ''
for i in str_1:
    if int(str_1.index(i)) % 2 != 0:
        str_2 += i
print(str_2)

结果

str:abcd1234
bd24

2

输入用户名,判断用户名是否合法(用户名长度6~10位)

user_name = input("user_name:")
if len(user_name) >= 6 and len(user_name) <= 10:
    print("right")
else:
    print("wrong")

结果

user_name:abcdef
right
user_name:abc
wrong

3

输入用户名,判断用户名是否合法(用户名中只能由数字和字母组成)
例如: 'abc' — 合法 '123' — 合法 ‘abc123a’ — 合法

user_name = input("user_name:")
j = 0
for i in user_name:
    if 'a' <= i <= 'z' or 'A' <= i <= 'Z' or '0' <= i <= '9':
        if j == len(user_name)-1: #最后一位判断结束
            print("legal")
    else:
        print("illegal")
        break
    j += 1

结果

user_name:123abc
legal
user_name:123#12
illegal

4

输入用户名,判断用户名是否合法(用户名必须包含且只能包含数字和字母,并且第一个字符必须是大写字母)
例如: 'abc' — 不合法 '123' — 不合法 'abc123' — 不合法 'Abc123ahs' — 合法

user_name = input("user_name:")
j = 0
for i in user_name:
    if ('A' <= user_name[0]<= 'Z') and ('a' <= i <= 'z' or 'A' <= i <= 'Z' or '0' <= i <= '9'):
        if j == len(user_name)-1: #最后一位判断结束
            print("legal")
    else:
        print("illegal")
        break
    j += 1

结果

user_name:Abc
legal
user_name:abc
illegal

5

输入一个字符串,将字符串中所有的数字字符取出来产生一个新的字符串
例如:输入'abc1shj23kls99+2kkk' 输出:'123992'

str_1 = input("str:")
str_2 = ''
for i in str_1:
    if '0' <= i <= '9':
        str_2 += i
print(str_2)

结果

str:abcd1234ac12
123412

6

输入一个字符串,将字符串中所有的小写字母变成对应的大写字母输出
例如: 输入**'a2h2klm12+' ** 输出 'A2H2KLM12+'

str_1 = input("str:")
str_2 = ''
for i in str_1:
    if 'a' <= i <= 'z':
        i = chr( ord(i) - 32 )
        str_2 += i
    else:
        str_2 += i
print(str_2)

结果

str:abcD12@
ABCD12@

7

输入一个小于1000的数字,产生对应的学号
例如: 输入'23',输出'py1901023' 输入'9', 输出'py1901009' 输入'123',输出'py1901123'

num = input("num:")
num_new = ''
if int(num)>= 1000:
    num = str(num)
    num = input("input a num again:")
    num_new = 'py1901'+ num.rjust(3,'0') #输入不是3位数左侧补0
else:
    num_new = 'py1901' + num.rjust(3, '0')  # 输入不是3位数左侧补0
print(num_new)

结果

num:1
py1901001
num:999

py1901999
num:1200
input a num again:12
py1901012

8

输入一个字符串,统计字符串中非数字字母的字符的个数
例如: 输入'anc2+93-sj胡说' 输出:4 输入'===' 输出:3

user_name = input("str:")
count = 0
for i in user_name:
    if 'a' <= i <= 'z' or 'A' <= i <= 'Z' or '0' <= i <= '9':
        continue
    else:
        count += 1
print(count)

结果

str:123qwe===qwe
3

9

输入字符串,将字符串的开头和结尾变成'+',产生一个新的字符串
例如: 输入字符串'abc123', 输出'+bc12+'

str_1 = input("str:")
str_2 = ''
for i in str_1:
    if str_1.index(i) == 0 or str_1.index(i) == len(str_1) - 1:
        str_2 += "+"
    else:
        str_2 += i
print(str_2)

结果

str:abc123
+bc12+

10

输入字符串,获取字符串的中间字符 例如: 输入'abc1234' 输出:'1' 输入'abc123' 输出'c1'

str_1 = input("str:")
for i in str_1:
    if len(str_1) % 2 != 0:
        if str_1.index(i) == (len(str_1) - 1) / 2:
            print(str_1[str_1.index(i)])
    else:
        if str_1.index(i) == (len(str_1)) / 2:
            print(str_1[str_1.index(i)-1], str_1[str_1.index(i)])

结果

str:abc123
c 1
str:abc12
c

你可能感兴趣的:(2019-04-22_day_6代码作业)