我有我的代码的困境,首先有一个练习,我不得不写,将实现以下Python的while循环while循环
练习
为了创建一个文件完成这个练习。编写一个程序,生成100个随机数(范围在1-1000),并保持这些随机数有多少是偶数,有多少是奇数。将结果显示在屏幕上,如下面的示例输出所示。提示:使用while循环循环100次。
我的结果:
import random
num = 0
odd = 0
even = 0
while num < 100:
random.randint(1,1000)
num = num + 1
#print(num)
if random.randint(1,1000)%2==0:
even = even + 1
else:
odd = odd + 1
print ("Out of 100 Random Numbers,",even,"were even and",odd,"were Odd")
输出:
Out of 100 Random Numbers, 50 were even and 50 were Odd
所有肉汁!
下一个活动:
添加另一个while循环,重复部分a 10次。将结果显示在屏幕上,如下面的示例输出所示。
像这样的输出:
Out of 100 random numbers, 56 were odd, and 44 were even.
Out of 100 random numbers, 60 were odd, and 40 were even.
Out of 100 random numbers, 47 were odd, and 53 were even.
Out of 100 random numbers, 54 were odd, and 46 were even.
Out of 100 random numbers, 48 were odd, and 52 were even.
Out of 100 random numbers, 53 were odd, and 47 were even.
Out of 100 random numbers, 46 were odd, and 54 were even.
Out of 100 random numbers, 52 were odd, and 48 were even.
Out of 100 random numbers, 53 were odd, and 47 were even.
所以我写了:导致输出
import random
num = 0
odd = 0
even = 0
loop = 0
while loop < 10:
loop = loop +1
while num < 100:
num = num + 1
rand = random.randint(1,1000)
#print(num)
if rand%2==0:
even = even + 1
else:
odd = odd + 1
result = print ("Out of 100 Random Numbers,",even,"were even and",odd,"were Odd")
:
Out of 100 Random Numbers, 50 were even and 50 were Odd
Out of 100 Random Numbers, 50 were even and 50 were Odd
Out of 100 Random Numbers, 50 were even and 50 were Odd
Out of 100 Random Numbers, 50 were even and 50 were Odd
Out of 100 Random Numbers, 50 were even and 50 were Odd
Out of 100 Random Numbers, 50 were even and 50 were Odd
Out of 100 Random Numbers, 50 were even and 50 were Odd
Out of 100 Random Numbers, 50 were even and 50 were Odd
Out of 100 Random Numbers, 50 were even and 50 were Odd
Out of 100 Random Numbers, 50 were even and 50 were Odd
灿你一个精细的程序员给我解释为什么我得到的结果和/或修改代码以获得预期的结果。
解释为什么它不工作,以及如何解决这个问题将是可取的,因为你知道他们说什么,给一个男人一条鱼,他会吃一天教他鱼,他会吃一辈子。
谢谢你的时间。
Inner while将在第一次循环后不执行,因为它将在该点达到100。您必须初始化第一个循环内的num值。 – thavan 2013-03-28 10:16:21