python - 我想将随机数从它们的列表中更改为列表的最小含义
问题描述
我创建了一个“a”随机数列表。而且我需要将奇数更改为此列表的最小数量。但它没有改变任何数字,怎么了?
import random
a = int(input('Num -> '))
s = []
for i in range(a):
s.append(random.randint(0,10))
if s[i]%2!=0:
s[i]=min(s)
解决方案
您的程序确实会按照您的要求更改数字。我添加了一些简单print
的语句来跟踪这一点:
随机导入
a = 10
s = []
for i in range(a):
s.append(random.randint(0,10))
if s[i]%2==0:
print("Changing", i)
print("\tbefore", s)
s[i]=min(s)
print("\t after", s)
输出:
Changing 1
before [3, 10]
after [3, 3]
Changing 6
before [3, 3, 5, 9, 9, 1, 8]
after [3, 3, 5, 9, 9, 1, 1]
Changing 7
before [3, 3, 5, 9, 9, 1, 1, 6]
after [3, 3, 5, 9, 9, 1, 1, 1]
Changing 8
before [3, 3, 5, 9, 9, 1, 1, 1, 6]
after [3, 3, 5, 9, 9, 1, 1, 1, 1]
Changing 9
before [3, 3, 5, 9, 9, 1, 1, 1, 1, 0]
after [3, 3, 5, 9, 9, 1, 1, 1, 1, 0]
如您所见,偶数确实被列表最小值替换。你声称它不会改变任何数字是不正确的。
如果要更改奇数,则需要反转支票:
if s[i]%2 == 1:
推荐阅读
- r - 如何基于两个条件最小/最大过滤器使用 case_when?
- laravel - 磁盘 [视频] 没有配置的驱动程序
- wordpress - 根据 wordpress 页面模板 NuxtJs 更改布局
- c# - 实体框架标题,详细信息保存错误
- ruby - Rspec如何确定是否已经定义了一个let块?
- javascript - 从 addEventListener 访问数组
- javascript - 从javascript中的字符串中提取10位手机号码的正则表达式
- java - 来自节点 js 服务器的 Json 数据
- cakephp-3.0 - 相同特价商品 ID cakephp 3 的条件
- java - Micronaut 在过滤器中获取处理对象/方法