master
/ 5.2.2 字符串常量.ipynb

5.2.2 字符串常量.ipynb @masterview markup · raw · history · blame

Notebook

字符串常量

5.9 字符串常量.jpg

Python内置了一些字符串常量,在使用字符串常量时,需先import string,常用的字符串常量表如表6.1所示。

字符串常量 字符集
string.ascii_letters 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
string.ascii_lowercase 'abcdefghijklmnopqrstuvwxyz'
string.ascii_uppercase 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
string.digits '0123456789'
string.hexdigits '0123456789abcdefABCDEF'
string.octdigits '01234567'
string.punctuation '!"#\$\%&'()*+,-./:;<=>?@[\]^_`{|}~'
string.printable '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\]^_`{|}~\t\n\r\x0b\x0c'
string.whitespace ' \t\n\r\x0b\x0c' 

输入一段文本,只保留其中的字母和数字,其他符号转为空格输出。

In [3]:
import string

txt = input()    # 输入一个字符串
text = ''        # 定义一个空字符串
for c in txt:   # 遍历文本
    if c in string.ascii_letters + string.digits:
        text = text + c   # 若是字母或数字,拼接到新字符串上
    else:
        text = text + ' '  # 否则拼接一个空格上去
print(text)      # 输出替换后的文本

很多系统设计密码时,会对用于密码的字符做一些限定。某平台的限制是:密码仅支持8~20位数字与大小写字母的组合,编程实现这个限制。 当包含不可用字符时,输出提示:'密码中含有不可用字符' 当长度小二8位或多于20位时输出提示,长度和字符都符合要求时,输出'密码符合规定'并输出用户设置的密码。

In [5]:
import string

# 密码仅支持8~20位数字与大小写字母的组合
password = input()  # 输入一个字符串
for c in password:  # 遍历文本
    if c not in string.ascii_letters + string.digits:
        print('密码中含有不可用字符')
        break
else:
    if len(password) >= 20:
        print('密码长度过长,限20位以内')
    elif len(password) < 8:
        print('密码长度不足8位')
    else:
        print('密码符合规定')
        print(f'你设置的密码是: {password}')