【发布时间】:2014-01-04 05:16:01
【问题描述】:
这是我的代码:
import random
minimum=int(input("Enter minimum value: "))
maximum=int(input("Enter maximum value: "))
if minimum>maximum:
temp=minimum
minimum=maximum
maximum=temp
howMany = int(input("How many numbers do you want to generate?"))
sum=0
n=1
while n<=howMany:
num=random.randrange(minimum,maximum)
sum+=num
n+=1
print("Your random generated number is",num)
print("Python's random average between", minimum, "and", maximum, "is", sum/howMany)
avg=minimum+maximum/2
avgTwo=sum/howMany
difference=avgTwo-avg
print("The actual average of minimum and maximum is", avg)
print("The difference from the calculated average and from the actual average is", difference)
当我计算差异时,我需要总是得到一个正数。我尝试翻转被减去的变量,但我随机收到一个负数。
【问题讨论】:
-
返回结果的绝对值怎么样?
abs(x)对你有帮助吗? -
提示:您可以直接使用
minimum, maximum = maximum, minimum交换最小值和最大值 -
您的代码还有第二个更微妙的错误:要查看它,请输入彼此分开的最小值和最大值;例如,“4”和“5”,并生成一大堆数字。你几乎肯定想要
randrange(minimum,maximum+1) -
@DanielMartin 这就是为什么我更喜欢
random.randint()。我在记住函数边界方面仍然很糟糕,randint做了我认为应该做的事! :)
标签: python python-3.x integer