目录
例子1:设计一个生成指定长度验证码的函数。
例子2:设计一个函数返回给定文件名的后缀名。
例子3:在终端中显示跑马灯(滚动)文字。
将一颗色子掷6000次,统计每个点数出现的次数。
定义和使用列表
import random
ALL_CHARS = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
def generate_code(code_len=6):
code = ''
for i in range(code_len):
# 产生0到字符串长度减1范围的随机数作为索引
index = random.randrange(0, len(ALL_CHARS))
# 利用索引运算从字符串中取出字符并进行拼接
code += ALL_CHARS[index]
return code
for _ in range(10):
print(generate_code())
D:\装机软件\python\python.exe "D:/python code2020/test01/s生成验证码.py"
EkTT74
qkDO5k
8mSa2Z
jjklNg
z14UQF
sA7vKJ
iIhWlu
3zn87X
1VF6hJ
1Ra93v
Process finished with exit code 0
.
后面的部分,也称为文件的扩展名,exe
表示这是一个可执行程序,而后缀名txt
表示这是一个纯文本文件。.
开头,表示这是一个隐藏文件,像.gitignore
这样的文件名,.
后面并不是后缀名,这个文件没有后缀名或者说后缀名为''
。def get_suffix(filename):
"""获取文件名的后缀名
:param filename: 文件名
:return: 文件的后缀名
"""
# 从字符串中逆向查找.出现的位置
pos = filename.rfind('.')
# 通过切片操作从文件名中取出后缀名
if pos>0 and pos
实现跑马灯文字的原理非常简单,把当前字符串的第一个字符放到要输出的内容的最后面,把从第二个字符开始后面的内容放到要输出的内容的最前面,通过循环重复这个操作,就可以看到滚动起来的文字。两次循环之间的间隔可以通过time
模块的sleep
函数来实现,而清除屏幕上之前的输出可以使用os
模块的system
函数调用系统清屏命令来实现。
import os
import time
content = ' 是 我 在 做 多 情 种 '
while True:
# Windows清除屏幕上的输出:os.system('cls')
# macOS清除屏幕上的输出:os.system('clear')
os.system('cls')
print(content)
# 休眠0.2秒(200毫秒)
time.sleep(0.2)
content = content[1:] + content[0]
D:\装机软件\python\python.exe "D:/python code2020/test01/p跑马灯文字.py"
是 我 在 做 多 情 种
是 我 在 做 多 情 种
是 我 在 做 多 情 种
我 在 做 多 情 种 是
我 在 做 多 情 种 是
我 在 做 多 情 种 是
在 做 多 情 种 是 我
在 做 多 情 种 是 我
在 做 多 情 种 是 我
做 多 情 种 是 我 在
做 多 情 种 是 我 在
做 多 情 种 是 我 在
多 情 种 是 我 在 做
多 情 种 是 我 在 做
情 种 是 我 在 做 多
情 种 是 我 在 做 多
情 种 是 我 在 做 多
种 是 我 在 做 多 情
种 是 我 在 做 多 情
种 是 我 在 做 多 情
是 我 在 做 多 情 种
是 我 在 做 多 情 种
是 我 在 做 多 情 种
是 我 在 做 多 情 种
是 我 在 做 多 情 种
是 我 在 做 多 情 种
是 我 在 做 多 情 种
是 我 在 做 多 情 种
是 我 在 做 多 情 种
是 我 在 做 多 情 种
是 我 在 做 多 情 种
是 我 在 做 多 情 种
我们可以用1到6均匀分布的随机数来模拟掷色子,然后用6个变量分别记录每个点数出现的次数,
import random
f1 = 0
f2 = 0
f3 = 0
f4 = 0
f5 = 0
f6 = 0
for _ in range(6000):
face = random.randint(1, 6)
if face == 1:
f1 += 1
elif face == 2:
f2 += 1
elif face == 3:
f3 += 1
elif face == 4:
f4 += 1
elif face == 5:
f5 += 1
else:
f6 += 1
print(f'1点出现了{f1}次')
print(f'2点出现了{f2}次')
print(f'3点出现了{f3}次')
print(f'4点出现了{f4}次')
print(f'5点出现了{f5}次')
print(f'6点出现了{f6}次')
在Python中,列表是由一系元素按特定顺序构成的数据序列,这样就意味着定义一个列表类型的变量,可以保存多个数据,而且允许有重复的数据。跟上一课我们讲到的字符串类型一样,列表也是一种结构化的、非标量类型,操作一个列表类型的变量,除了可以使用运算符还可以使用它的方法。
在Python中,可以使用[]
字面量语法来定义列表,列表中的多个元素用逗号进行分隔,代码如下所示。
items1 = [35, 12, 99, 68, 55, 87]
items2 = ['Python', 'Java', 'Go', 'pluto']
除此以外,还可以通过Python内置的list
函数将其他序列变成列表。准确的说,list
并不是一个函数,而是创建列表对象的构造器(后面会讲到对象和构造器这两个概念)。
items1 = list(range(1, 10))
print(items1)
items2 = list('pluto')
print(items2)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
['p', 'l', 'u', 't', 'o']
Process finished with exit code 0
列表是一种可变数据类型,也就是说列表可以添加元素、删除元素、更新元素,这一点跟我们上一课讲到的字符串有着鲜明的差别。字符串是一种不可变数据类型,也就是说对字符串做拼接、重复、转换大小写、修剪空格等操作的时候会产生新的字符串,原来的字符串并没有发生任何改变。
课程链接:https://github.com/jackfrued/Python-Core-50-Courses/blob/master
明月光光明月光,
家住城南谢家巷。
春来堂前花满枝,
秋有燕子绕北梁。