python生成一个[0,1)之间均匀分布的随机数数组,包含1000个元素,随机种子为自己学号的后3位。接收用户输入一个1-100之间的数字。打印随机数组中所有索引值可以被输入整数整除的数字,并打印序号和索引值。序号从1开始,依次加1。
时间: 2024-09-19 22:04:05 浏览: 63
在Python中,你可以使用`numpy`库来生成均匀分布的随机数组,并使用`random.seed()`设置随机种子。首先,我们需要导入必要的库并获取用户的输入:
```python
import numpy as np
import random
# 获取用户输入并验证是否在1到100范围内
input_num = int(input("请输入一个1到100之间的数字:"))
if not (1 <= input_num <= 100):
print("输入无效,请输入1到100之间的数字。")
else:
# 设置随机种子,使用学号后三位作为依据
random.seed(int(str(input("请输入你的学号后三位:"))[-3:]))
# 生成包含1000个元素的均匀分布随机数组
random_array = np.random.rand(1000)
# 找出可以被输入整数整除的索引
divisible_indices = [i for i in range(len(random_array)) if random_array[i] * input_num == int(random_array[i] * input_num)]
# 打印符合条件的随机数及其对应的索引
for idx, num in enumerate(random_array[divisible_indices]):
print(f"序号{idx+1}: 数字 {num} 在位置 {divisible_indices[idx]}")
```
当你运行这段代码时,它会提示用户输入一个1到100之间的数字以及他们的学号后三位。然后,程序将生成一个随机数组,找出其中能被这个数字整除的数的位置,并按照指定顺序输出。
阅读全文