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<class 'str'>

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)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7…位上的字符)例如: 输入'abcd1234 ' **...
    漫磋嗟阅读 1,033评论 0 0
  • 输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7…位上的字符)例如: 输入'abcd1234 ' ...
    浩子_唯一号阅读 988评论 0 1
  • 输入一个字符串,打印所有奇数位上的字符(下标是1,3,5,7…位上的字符)例如: 输入'abcd1234 ' ...
    HuangXiongjin阅读 984评论 0 0
  • 不是所有的人都能知道时光的涵意,不是所有的人都懂得珍惜。这世间并没有绝对的命中注定,只有愿不愿意与肯不肯去坚持的心。
    32774430182c阅读 1,079评论 0 3
  • 我曾经无数次的想过我之后的几十年会如何度过,也曾经在深夜辗转反侧的想到失眠。我想象过很多美好,但同时也会想象我最糟...
    ____Min阅读 3,051评论 3 2