Python 100个带有奇偶计数器的随机数
我的任务如下: 在本章中,您看到了一个如何编写确定 数字是偶数或奇数。编写一个程序,生成100个随机数,并保持 这些随机数中有多少是偶数,有多少是奇数的计数 这就是我能做到的程度,我能得到100个数字,但我不知道如何将奇数和偶数相加。这应该包括一个返回值的布尔函数 我们只允许使用循环、函数和其他基本的东西Python 100个带有奇偶计数器的随机数,python,counter,Python,Counter,我的任务如下: 在本章中,您看到了一个如何编写确定 数字是偶数或奇数。编写一个程序,生成100个随机数,并保持 这些随机数中有多少是偶数,有多少是奇数的计数 这就是我能做到的程度,我能得到100个数字,但我不知道如何将奇数和偶数相加。这应该包括一个返回值的布尔函数 我们只允许使用循环、函数和其他基本的东西 import random NUMBER_LIST = [random.randint(0,1000)] def main(): for numbers in range(100
import random
NUMBER_LIST = [random.randint(0,1000)]
def main():
for numbers in range(100):
number = print(NUMBER_LIST)
number
is_even(number)
print('The total amount of even numbers is', even_count)
print('The total amount of odd numbers is', 100 - even_count)
def is_even(number):
even_count = 0
for number in NUMBERS_LIST:
if (number % 2):
even_count += 1
return even_count
main()
编辑:
我不应该使用列表,所以如果有一种不使用列表的方法,请让我知道
import random
def main():
numberList = [] # create an empty list, to add 100 random ints to
for i in range(100):
numberList.append(random.randint(1,1000)) # add a random int
# now, numberList has 100 random numbers in it
# keep track of how many odd numbers
oddCount = 0
# loop through numberList
for number in numberList:
if number%2 == 1: # number is odd
oddCount += 1
evenCount = 100 - oddCount # if a number is not odd, it is not even
print("There are", oddCount, "odd numbers, and", evenCount, "even numbers")
好的,现在我们有了硬编码版本,让我们尝试一种更灵活的方式,允许您指定尽可能多的内容:
def main(numNumbers, smallestNumber, biggestNumber):
numberList = []
for i in range(numNumbers):
numberList.append(random.randint(smallestNumber, biggestNumber))
oddCount = 0
for number in numberList:
if number%2: # oh look, I didn't have to do the `== 1` part
oddCount += 1
evenCount = numNumbers - oddCount
print("There are", oddCount, "odd numbers, and", evenCount, "even numbers")
所以你可以做这类事情。你可以在没有列表的情况下做这类事情,但既然你的问题可能需要这样做,我们就这样做吧 首先,请注意,您的代码只创建了一个列表,其中包含一个随机数。如果要用100个随机数填充列表,必须执行以下类似操作:
NUMBER_LIST = []
i = 0
while i < 100:
number = random.randint(0, 1000)
NUMBER_LIST.append(number)
i += 1
然后,您只需打印计数:
print("The number of even numbers is: " + evens)
print("The number of odd numbers is: " + odds)
然后,完整代码将是:
import random
NUMBER_LIST = []
evens = 0
odds = 0
i = 0
while i < 100:
number = random.randint(0, 1000)
NUMBER_LIST.append(number)
if number % 2 == 0:
evens += 1
else:
odds += 1
i += 1
print("The numbers were: " + str(NUMBER_LIST))
print("The number of even numbers is: " + evens)
print("The number of odd numbers is: " + odds)
随机导入
数字列表=[]
evens=0
赔率=0
i=0
当我<100时:
number=random.randint(0,1000)
编号\u列表。追加(编号)
如果数字%2==0:
evens+=1
其他:
赔率+=1
i+=1
打印(“编号为:”+str(编号列表))
打印(“偶数的数目为:“+evens”)
打印(“奇数的数量为:”+赔率)
没有名单:
import random
evens = 0
odds = 0
i = 0
while i < 100:
number = random.randint(0, 1000)
if number % 2 == 0:
evens += 1
else:
odds += 1
i += 1
print("The number of even numbers is: " + evens)
print("The number of odd numbers is: " + odds)
随机导入
evens=0
赔率=0
i=0
当我<100时:
number=random.randint(0,1000)
如果数字%2==0:
evens+=1
其他:
赔率+=1
i+=1
打印(“偶数的数目为:“+evens”)
打印(“奇数的数量为:”+赔率)
我在同一个班!这个代码对我有用
import random
def main ():
counter = 1
even_numbers = 0
odd_numbers = 0
while counter < 101:
a = random.randint(1,100)
if a % 2 == 0:
even_numbers += 1
else:
odd_numbers += 1
counter += 1
if counter == 101 :
reveal_total(even_numbers, odd_numbers)
def reveal_total(even_numbers, odd_numbers):
print("This many evens : ", even_numbers)
print("This many odds : ", odd_numbers)
main()
随机导入
defmain():
计数器=1
偶数=0
奇数=0
当计数器<101时:
a=随机随机随机数(1100)
如果%2==0:
偶数+=1
其他:
奇数+=1
计数器+=1
如果计数器==101:
显示总数(偶数、奇数)
def显示总数(偶数、奇数):
打印(“此多个偶数:,偶数)
打印(“这么多赔率:,奇数)
main()
您为什么需要保留一份数字列表?此外,它们只能是奇数或偶数,因此您不需要同时跟踪这两个值。是测试一个数字是偶数还是非偶数,还是计算偶数?我不知道如何允许循环函数遍历for循环中的数字列表numbers\u list
需要是编号列表
。另外,if语句不需要方括号,if语句应该在main()
中,这样就不需要循环两次,而且返回值is_偶数()
,number
不是语句,您可以删除它。我建议使用def main(numbers=100):
然后在方法体中引用数字
,而不是对其进行硬编码以便扩展。您只需要计算偶数或奇数,另一个可以通过100-[偶数或奇数]找到。余数是另一个的值。这将为您节省一个if语句。这是真的,但是复制和粘贴if语句太诱人了,而且我实际上不应该使用列表,我只是看到其他人用类似的任务来做,我也跟着做了。如果你能告诉我怎么做而不列出清单,那就太棒了@RussellSherrill此代码除了打印所选的数字外,几乎不使用列表:)只需删除声明、append
行和第一次打印。
import random
evens = 0
odds = 0
i = 0
while i < 100:
number = random.randint(0, 1000)
if number % 2 == 0:
evens += 1
else:
odds += 1
i += 1
print("The number of even numbers is: " + evens)
print("The number of odd numbers is: " + odds)
#!/usr/bin/env python3
import random
def main(n=100):
NUMBER_LIST = [random.randint(0,1000) for x in range(0,n)]
odds = len(list(filter(lambda x: x % 2, NUMBER_LIST)))
print("Odd Numbers: {}\nEven Numbers: {}".format(odds, n-odds))
if __name__ == "__main__":
main()
from random import randrange
even = 0
for i in range(100):
num = randrange(1000)
if num % 2 == 0:
even += 1
print('There were {0} even numbers and {1} odd numbers.'.format(even, 100-even))
import random
def main ():
counter = 1
even_numbers = 0
odd_numbers = 0
while counter < 101:
a = random.randint(1,100)
if a % 2 == 0:
even_numbers += 1
else:
odd_numbers += 1
counter += 1
if counter == 101 :
reveal_total(even_numbers, odd_numbers)
def reveal_total(even_numbers, odd_numbers):
print("This many evens : ", even_numbers)
print("This many odds : ", odd_numbers)
main()