You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在练习程序中收集循环生成的随机N值至列表?

嘿,这个需求其实挺容易实现的,核心思路就是每次生成符合要求的随机数,把计数器加1,同时把这个随机数存入列表,最后就能得到所有N值的集合了。我用两种常见的编程语言给你写示例,你可以按需参考:

Python 实现方案

Python的语法比较简洁,很适合练习用:

import random

# 初始化计数器(对应你说的K)和存储N值的列表
counter_k = 0
all_n_values = []

# 这里假设我们要生成15个随机数,你可以改成任意次数,或者用while循环自定义停止条件
for _ in range(15):
    # 生成0到400之间的随机整数(包含400),如果要从1开始就改成random.randint(1, 400)
    n = random.randint(0, 400)
    counter_k += 1
    all_n_values.append(n)
    # 可选:打印每次的生成记录,方便调试
    print(f"第{counter_k}次生成的N值:{n}")

# 输出最终的N值列表
print("\n所有生成的N值列表:")
print(all_n_values)

如果想让程序自定义停止条件(比如直到生成300就停止),可以改成while循环:

import random

counter_k = 0
all_n_values = []

while True:
    n = random.randint(0, 400)
    counter_k += 1
    all_n_values.append(n)
    print(f"第{counter_k}次生成的N值:{n}")
    # 当生成的N等于300时停止循环,你可以改成任何你需要的条件
    if n == 300:
        break

print("\n所有生成的N值列表:")
print(all_n_values)
Java 实现方案

如果用Java的话,思路是完全一致的:

import java.util.ArrayList;
import java.util.Random;

public class RandomNumberCollector {
    public static void main(String[] args) {
        int counterK = 0;
        ArrayList<Integer> allNValues = new ArrayList<>();
        Random randomGenerator = new Random();
        
        // 生成10个随机数,同样可以修改次数或改用while循环
        for (int i = 0; i < 10; i++) {
            // nextInt(401)会生成0到400的整数(上限是开区间,所以写401)
            int n = randomGenerator.nextInt(401);
            counterK++;
            allNValues.add(n);
            System.out.println("第" + counterK + "次生成的N值:" + n);
        }
        
        System.out.println("\n所有生成的N值列表:");
        System.out.println(allNValues);
    }
}

核心思路总结

不管用什么语言,步骤都是这几步:

  • 初始化一个计数器(K),从0开始,每次生成N就加1;
  • 初始化一个空的列表/集合,用来存储每次生成的N值;
  • 用循环控制生成过程(固定次数或自定义停止条件);
  • 每次循环里生成≤400的随机数,更新计数器,把N加入列表;
  • 循环结束后,列表里就是所有分配过的N值了。

内容的提问来源于stack exchange,提问作者leo_someone

火山引擎 最新活动