我尝试导入随机数据,并要求用户输入15个数字的列表范围为0,但我似乎无法让代码在其他定义因素上与输入配合工作
from random import randint
i=int(input('Type the limit: '))
numbers=[]
for i in range(15):
n=randint(0,??)
numbers.append(n)
print(numbers)
答案 0 :(得分:1)
您的代码中有很多问题,但是您走的路正确。
首先,如上所述,由于要保留用户给您的限制,您将要在循环中使用除i以外的其他变量。
第二,您要从0开始并在用户输入处结束,因此randint()应该从0到用户输入。
for j in range(15):
n = randint(0,i)
第三,为了告诉数字是偶数还是奇数,提示会告诉您该怎么做。 n%2表示如果将数字除以2,则n%2将是其余数。如果n%2 == 0,则将其放在偶数数组中。如果没有,则将其放在奇数数组中。
最后,为了跟踪最大数量,只需将一个数字(greatestVal)初始化为零,然后在循环中检查随机生成的数字是否大于greatValve。
代码如下,但是请了解更改来自何处。
from random import randint
i=int(input('Type the limit: '))
oddNumbers=[]
evenNumbers = []
greatestNumb = 0;
for j in range(15):
n=randint(0,i)
if n % 2 == 0:
evenNumbers.append(n)
else:
oddNumbers.append(n)
if n > greatestNumb:
greatestNumb = n
print(oddNumbers)
print(evenNumbers)
print(greatestNumb)
编辑:一些语法错误
答案 1 :(得分:0)
这是使用numpy的解决方案:(我不理解您的第三部分)
import numpy as np
userlimit = int(input('Type the limit: '))
list1 = np.random.randint(0, userlimit + 1, 15)
oddlist = [x for x in list1 if x%2!=0]
evenlist = [x for x in list1 if x%2==0]
print(f'event list: {evenlist} ')
print(f'length of evenlist:{len(evenlist)}, its max number = {max(evenlist)}')
print(f'odd list: {oddlist} ')
print(f'length of oddlist:{len(oddlist)}, its max number = {max(oddlist)}')
输出:
Type the limit: >? 10
event list: [6, 4, 4, 6, 8]
length of evenlist:5, its max number = 8
odd list: [1, 3, 3, 5, 1, 5, 3, 1, 7, 1]
length of oddlist:10, its max number = 7