2019-07-31

作业

1.输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7…位上的字符)

例如: 输入'abcd1234 ' 输出'bd24'

str_1 = "hello,world!"
for char in str_1[1::2]:
    print(char, end="")
print("")

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

user_name = input("请输入用户名:")
if 6 <= len(user_name) <= 10:
    print("此名字合法")
else:
    print("此名字不合法")

3.输入用户名,判断用户名是否合法(用户名中只能由数字和字母组成)

str.isalnum()判断用户名是否只由数字和字母组成

例如: 'abc' — 合法 '123' — 合法 ‘abc123a’ — 合法

user_name = input("请输入用户名:")
value_bool = str.isalnum(user_name)
if value_bool:
    print("此名字合法")
else:
    print("此名字不合法")

4.输入用户名,判断用户名是否合法(用户名必须包含且只能包含数字和字母,

并且第一个字符必须是大写字母)

例如: 'abc' — 不合法 '123' — 不合法 'abc123' — 不合法 'Abc123ahs' — 合法

user_name = input("请输入用户名:")
value_bool = str.isalnum(user_name)
if value_bool:
    if 'A' <= user_name[0] <= 'Z':
        print("此名字合法")
    else:
        print("此名字不合法")
else:
    print("此名字不合法")

5.输入一个字符串,将字符串中所有的数字字符取出来产生一个新的字符串

例如:输入'abc1shj23kls99+2kkk' 输出:'123992'

str_input = input("请任意输入:")
for i in str_input:
    if 48 <= ord(i) <= 57:
        print(i, end="")
        # print(type(i))  # 2

6.输入一个字符串,将字符串中所有的小写字母变成对应的大写字母输出

(用upper方法和自己写算法两种方式实现)

例如: 输入'a2h2klm12+' 输出 'A2H2KLM12+'

# upper方法
str_input = input("请任意输入:")
str_1 = str_input.upper()
print(str_1)

# 算法实现
print(ord('a'))  # 相差32
print(ord('A'))
str_input = input("请任意输入:")
for i in str_input:
    if 'a' <= i <= 'z':
        i = ord(i) - 32
        i = chr(i)
        print(i, end="")
    else:
        print(i, end="")

7.输入一个小于1000的数字,产生对应的学号

例如: 输入'23',输出'py1901023' 输入'9', 输出'py1901009' 输入'123',输出'py1901123'

num_1 = input("请输入一个小于1000的整数:")
str_1 = "py1901"
stu_id = str_1 + num_1
print(stu_id)

8.输入一个字符串,统计字符串中非数字字母的字符的个数

例如: 输入'anc2+93-sj胡说' 输出:4 输入'===' 输出:3

str_input = input("请任意输入:")
num = 0
length = len(str_input)
for i in str_input:
    if 48 <= ord(i) <= 57 or 65 <= ord(i) <= 90 or 97 <= ord(i) <= 122:
        num += 1
str_type = length - num
print(str_type)

9.输入字符串,将字符串的开头和结尾变成'+',产生一个新的字符串

例如: 输入字符串'abc123', 输出'+bc12+'

str_input = input("请任意输入:")
length = len(str_input)
for i in range(0, length):
    if i == 0 or i == length - 1:
        print("+", end="")
    else:
        print(str_input[i], end="")

10.输入字符串,获取字符串的中间字符

例如: 输入'abc1234' 输出:'1' 输入'abc123' 输出'c1'

str_input = input("请任意输入:")
length = len(str_input)
if length & 1:  # 奇数
    print(str_input[length // 2])
else:
    print(str_input[(length // 2) - 1] + str_input[length // 2])

11.写程序实现字符串函数find/index的功能(获取字符串1中字符串2第一次出现的位置)

例如: 字符串1为:how are you? Im fine, Thank you! , 字符串2为:you, 打印8

str_1 = 'how are you? Im fine, Thank you!'
str_2 = 'you'
length_1 = len(str_1)
length_2 = len(str_2)
for i in range(0, length_2):
    for j in range(0, length_1):
        if str_2[i] == str_1[j]:
            str_1_1 = str_1[j:j+3]     # 利用切片判断
            if str_1_1 == str_2:
                print(j)
                break

12.获取两个字符串中公共的字符

例如: 字符串1为:abc123, 字符串2为: huak3 , 打印:公共字符有:a3

str_input_1 = input("请任意输入:")
str_input_2 = input("请任意输入:")
list_1 = []
for i in str_input_1:
    for j in str_input_2:
        if ord(i) == ord(j):
            if i not in list_1:
                list_1.append(i)
str_3 = "".join(list_1)
print(str_3)

你可能感兴趣的:(2019-07-31)