字符串
1. 字符串的解释
def main():
str1 = 'hallo, beautiful girl!'
print(len(str1))
print(str1.capitalize())
print(str1.upper())
print(str1.find('lo'))
print(str1.find('good'))
print(str1.index('lo'))
print(str1.startswith('he'))
print(str1.startswith('ha'))
print(str1.endswith('girl!'))
print(str1.center(50, '★'))
print(str1.rjust(50, '★'))
str2 = 'abc123456'
print(str2[2])
print(str2[2:5])
print(str2[2:])
print(str2[2::2])
print(str2[::2])
print(str2[::-1])
print(str2[-3:-1])
print(str2.isdigit())
print(str2.isalpha())
print(str2.isalnum())
str3 = ' moonlight@hotmail.com'
print(str3)
print(str3.strip())
2. 字符串的应用
- 设计一个函数,能够产生随机的验证码,验证码由大小写字母,数字;调一次,给一个随机的验证码。
解法1:
- 补充知识:
1.在Python
中,内置函数chr
可以将相应的0~255
的数字转换为相应的字符,而ord
则可以将字符码转换为相应的ASCII
值。
2.不过这里我们主要使用chr
,即只要可以随机生成大小写字母所对应的ASCII
值,就可以通过chr
函数将其转换为对应的大小写字母,从而拼接成为随机验证码。
3.通过查找ASCII
码表可以知道:
数字0-9
的ASCII
码值范围:48~57
大写字母ASCII
码值范围:65~90
小写字母ASCII
码值范围:97~122
import random
def verification_code(num=4):
random_num = ''
for _ in range(num):
choice = random.randint(1, 3)
if choice == 1:
random_num += chr(random.randint(48, 57))
elif choice == 2:
random_num += chr(random.randint(65, 90))
elif choice == 3:
random_num += chr(random.randint(97, 122))
return random_num
if __name__ == '__main__':
random_num1 = verification_code()
print('生成四位随机验证码:', random_num1)
random_num2 = verification_code(5)
print('生成五位随机验证码:', random_num2)
random_num3 = verification_code(6)
print('生成六位随机验证码:', random_num3)
random_num4 = verification_code(7)
print('生成七位随机验证码:', random_num4)
解法2:顺便给出如何给函数写解释说明文档
def generate_code(code_len=4):
"""
生成指定长度的验证码
:param code_len: 验证码的长度
:return: 由大小写和数字构成的随机验证码
"""
all_chars = '0123456789abcdefghijkmnopqrstuvwxyzABCDEFGHIJKMLNOPQRSTUVWXYZ'
last_pos = len(all_chars) - 1
code = ''
for _ in range(code_len):
index = random.randint(0, last_pos)
code += all_chars[index]
return code
if __name__ == '__main__':
for _ in range(10):
print(generate_code(6))