python - 在while循环中使用for循环
问题描述
我正在尝试完成以下任务:
浏览一个列表并选择所有偶数,但当你有15
数字时停止。为了实现这一点,我想到了使用以下内容:
nums = np.random.randint(1,100,50) # List of 50 numbers between 1 and 100
x = 0 # variable to incriment
number = [] # List to store even number
while x < 16:
for num in nums: # Select each number in nums list
if x%2 ==0: # Check if even
number.append(num) # Append even number to list
x+=1 # increment counter
但我得到一个长度为 400 的列表和x
16 的计数器 ( )。
我究竟做错了什么?
解决方案
嵌套的 for 循环意味着 while 循环条件在整个列表被循环之前不会被检查。我建议摆脱 while 循环并仅用于break
控制停止条件。
number = []
for num in nums:
if num%2 == 0:
number.append(num)
if len(number) == 15:
break
推荐阅读
- javascript - formBuilder.group() 无法从 angular8 中的@input 获取数据
- sql - 是否可以使用 int 变量来设置 SQL 中另一个变量的大小
- java - Spark:应用 foreach 后我的数据集未更新
- laravel - htaccess 重写 laravel 项目的 url 以从 url 中排除文件夹目录
- r - 删除计数和最小的行
- yii2 - Yii2 禁用特定域上的调试工具栏
- c++ - CLion 中的嵌套 CMakeLists.txt 文件
- php - 包含后的双 HTML Meta
- jquery - 仅当所有表单字段在表单提交之前都有类时,jQuery才启用提交按钮
- tensorflow - tfrecordswriter 不写