Python零基础学习5.2—Python字符串应用(二)

本章我们继续通过例题来巩固对Python字符串应用的了解。

第1关:输出公共字符

任务描述

本关任务:编程,从键盘输入两个任意字符串,取两个字符串中公共的字符。 例如,字符串1为abc123,字符串2为mnae3,它们的公共字符为:a3。

测试说明

平台会对你编写的代码进行测试:

测试输入:

字符串1:mnae3

字符串2:abc123

预期输出: 公共字符有:a3

代码解析

str1 = input("字符串1:")
str2 = input("字符串2:")
str3 = ""
for x in str1:
    if x in str2:
        str3 += x
print(f"公共字符有:{str3}")

第2关:数字统计

任务描述

本关任务:编程,统计输入的字符串中数字的个数。

测试说明

平台会对你编写的代码进行测试:

测试输入: 请输入字符串:abc2de

预期输出: 有1个数字

代码解析

string = input("请输入字符串:")
count = 0
for x in string:
    if x in "1234567890":
        count += 1
print(f"有{count}个数字")

第3关:凯撒加密

任务描述

本关任务:编程,将输入的字符串中字母加密,利用凯撒加密算法进行加密。其它字符不变 凯撒密码是一种非常古老的加密方法,相传当年凯撒大帝行军打仗时为了保证自己的命令不被敌军知道,就使用这种特殊的方法进行通信,以确保信息传递的安全。 它的原理是字母与字母之间的替换。例如26个字母都向后移动K位。若K等于2,则A用C代替,B用D代替,以此类推 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z C D E F G H I J K L M N O P Q R S T U V W X Y Z A B

测试说明

平台会对你编写的代码进行测试:

测试输入: 原文:abczy123

预期输出: 密文:cdeba123

代码解析

#加密算法,字母后移二位,其它符号不变
yuanwen = input("原文:")
miwen = ""
for x in yuanwen:
    if 65<=ord(x)<=88 or 97<=ord(x)<=120:
        x = chr(ord(x)+2)
        miwen += x
    elif 89<=ord(x)<=90 or 121<=ord(x)<=122:
        x = chr(ord(x)-24)
        miwen += x
    else:
        miwen += x
print(f"密文:{miwen}")

第4关:元音处理

任务描述

本关任务:从键盘输入一字符串,找出所有元音字符,用*替换,输出新的字符串。 元音字符包括aeiou

测试说明

平台会对你编写的代码进行测试:

测试输入: 请输入一串字符:apples 预期输出: 元音处理后:*ppl*s

代码解析

word = input("请输入一串字符:")
new_word = ""
for x in word:
    if x in "aeiouAEIOU":
        x = "*"
    new_word += x
print(f"元音处理后:{new_word}")

第5关:找汉字

任务描述

本关任务:编程,从键盘输入任意字符串,找出所有汉字。 提示:汉字的Unicode编码范围为[4e00,9fa5]

测试说明

平台会对你编写的代码进行测试:

测试输入: 请输入字符串:computer电脑window窗户

预期输出: 汉字有:电脑窗户

代码解析

import re
str1 = input("请输入字符串:")
result = ''.join(re.findall(r'[\u4e00-\u9fa5]',str1))
print(f"汉字有:{result}")

你可能感兴趣的:(Python零基础学习,python,学习,开发语言)