我的代码能解决这个问题吗?我是python的初学者

2024-10-03 06:28:07 发布

您现在位置:Python中文网/ 问答频道 /正文

编写一个程序,生成100个随机数,并记录这些随机数中有多少是偶数,有多少是奇数。你知道吗

import random 

def main():
    print("There",even(),"even numbers\n")
    print("There",odd(),"even numbers")        

def even():
     even_count=0
     for i in range(0,100):
        x= random.randint(1,100)# genreates random numbers 
        if (x % 2) == 0:#finds odd numbers
            even_count += 1 #keeps count of even  numbers
     return even_count 

def odd():
    odd_count=0
    for i in range(0,100):
        x= random.randint(1,100)# genreates random numbers 
        if (x % 2) != 0: #finds odd numbers
            odd_count+=1 #keeps count of odd numbers
    return odd_count   

Tags: inforifdefcountrangerandomthere
3条回答

对于evenodd数字,您不需要这些单独的方法,而只需要为这两个数字保留一个counter

import random

even_count = 0
odd_count = 0

for i in range(0,100):
    x = random.randint(1,100)# genreates random numbers
    if (x % 2) != 0:  # finds odd numbers
        odd_count += 1
    else:
        even_count += 1
print("There are {} even and {} odd numbers.".format(even_count, odd_count))

输出

There are 51 even and 49 odd numbers.

改变你的方法。您只需要一个函数:

import random 

def main():
    even,odd = generator()
    print("There are ",even," even numbers\n")
    print("There are ",odd," odd numbers")        

def generator():
    even_count = 0
    odd_count = 0
    for i in range(0,100):
        x= random.randint(1,100)# genreates random numbers 
        if (x % 2) == 0: #finds odd numbers
           even_count += 1 #keeps count of even  numbers
        else:
           odd_count += 1 #keeps count of odd numbers
    return even_count,odd_count

main()

希望这能回答你的问题!!

假设你应该在同一袋数字中计算偶数和赔率,那么就不算了,因为你没有为每个函数计算相同的集合。你知道吗

也就是说,你要生成100个数字并计算有多少是偶数,然后再生成100个新数字并计算有多少是奇数。你知道吗

你需要单独的功能吗?一个数字能不是偶数或奇数吗?你知道吗

相关问题 更多 >