引言
python小程序之随机抽签以及for循环计算0-x的和
一、随机抽签
1.1 题目
- 使用input输入五个同学的名字
- 随机抽取一个同学的名字并打印出来
1.2 代码
import random
list_name = []
for i in range(5):
name = input("请输入同学的名字:")
list_name.append(name)
print(list_name)
num = random.randint(0, 4)
print(list_name[num])
输出结果:
1.3 代码解释
这段代码的功能是收集用户输入的五个同学的名字,将这些名字存储在一个列表中,然后随机选择一个名字并打印出来
import random
- 这行代码导入了 Python 的
random
模块,该模块包含用于生成随机数的函数
list_name = []
- 这行代码创建了一个名为
list_name
的空列表,用于存储用户输入的名字
for i in range(5):
- 这行代码开始了一个
for
循环,它将执行五次。range(5)
生成一个从 0 到 4 的序列,循环将遍历这个序列
name = input("请输入同学的名字:")
- 在每次循环迭代中,这行代码会提示用户输入一个同学的名字,并将用户输入的字符串存储在变量
name
中
list_name.append(name)
- 这行代码将用户输入的名字
name
添加到list_name
列表的末尾
print(list_name)
- 循环结束后,这行代码打印出包含所有输入名字的
list_name
列表
num = random.randint(0, 4)
- 这行代码使用
random.randint
函数生成一个随机整数,这个整数是在 0 和 4(包括0和4)之间的。这个随机数将用作列表list_name
的索引
print(list_name[num])
- 最后,这行代码打印出
list_name
列表中索引为num
的元素,即随机选择的一个名字
当运行这段代码时,程序会依次提示用户五次输入同学的名字,然后将这些名字存储在列表中。最后,程序会随机选择一个名字并打印出来。例如,如果用户输入的名字是 “张三”、“李四”、“王五”、“赵六” 和 “钱七”,则 list_name
将是 ['张三', '李四', '王五', '赵六', '钱七']
。num
将是一个 0 到 4 之间的随机数,假设 num
是 2,那么程序将打印 “王五”
二、for循环计算0-x的和
2.1 题目
for循环计算0-x的和
2.2 代码
def he(x):
s = 0
for i in range(0, x+1):
s += i
print(s)
he(100)
输出结果:
2.3 代码解释
这段代码定义了一个名为
he
的函数,该函数计算并打印从 0 到x
(包括x
)的所有整数的和。然后,代码调用了这个函数,并将数字 100 作为参数传递给它
def he(x):
- 这行代码定义了一个名为
he
的函数,它接受一个参数x
s = 0
- 在函数内部,这行代码初始化了一个变量
s
,并将其设置为 0。这个变量将用于累加求和
for i in range(0, x+1):
- 这行代码开始了一个
for
循环,它将遍历从 0 到x
(包括x
)的所有整数range(0, x+1)
生成一个从 0 到x
的序列
s += i
- 在每次循环迭代中,这行代码将当前的循环变量
i
加到变量s
上,从而累加求和
print(s)
- 循环结束后,这行代码打印出变量
s
的值,即从 0 到x
的整数和
he(100)
- 这行代码调用了之前定义的
he
函数,并将数字 100 作为参数传递给它。这意味着函数将计算从 0 到 100 的所有整数的和
当运行这段代码时,he
函数会计算从 0 到 100 的整数和,即 0 + 1 + 2 + … + 99 + 100,并将结果打印出来。这个和可以用高斯求和公式计算,即 (n * (n + 1)) / 2
,其中 n
是最后一个数字。对于 n = 100
,和为 (100 * 101) / 2 = 5050
。因此,当调用 he(100)
时,输出将是:
5050
三、思考
3.1 随机抽签
- input的使用
- 列表的append方法
- random.randint方法是随机去后面(0,4)包含边界中的任意一个数字
3.2 for循环计算0-x的和
- for i in range的用法
- range后面是前闭后开的区域
- 0-x的和或者说1-x的和可以用高斯求和公式计算