我的随机整数只返回4

时间:2017-10-12 23:46:58

标签: python

我试图运行此代码:

import random
import time


random_int = random.randrange(1, 6)
time.sleep(.1)
for i in range(1, 101):
    print(i)
    print("Random: ", random_int)
    time.sleep(random_int)

但是每次我运行它时,random_int总是返回它选择的第一个数字,所以:

1
Random:  4
2
Random:  4
3
Random:  4
4
Random:  4
5
Random:  4
6
Random:  4
7
Random:  4
8
Random:  4
9
Random:  4
10
Random:  4

使用退出代码1完成处理

1
Random:  2
2
Random:  2
3
Random:  2
4
Random:  2
5
Random:  2
6
Random:  2
7
Random:  2
8
Random:  2
9
Random:  2
10
Random:  2

Process finished with exit code 1

等。请帮忙 不允许我在没有更多文字的情况下提交这个问题,所以这是文字......生活怎么样?你在做什么?别回答......现在等等!回答我的问题,但不回答这些问题。

4 个答案:

答案 0 :(得分:1)

你需要调用循环中的随机函数

import random
import time


time.sleep(.1)
for i in range(1, 101):
    print(i)
    random_int = random.randrange(1, 6)
    print("Random: ", random_int)
    time.sleep(random_int)

您正在执行的操作是打印已赋值为

的变量random_int

答案 1 :(得分:0)

你必须“掷骰子”:

import random
import time

time.sleep(.1)

for i in range(1, 101):
    print(i)
    random_int = random.randrange(1, 6)
    print("Random: ", random_int)
    time.sleep(random_int)

randrange生成一个随机的,所以,如果你想每次生成一个新的,你必须调用它。

答案 2 :(得分:0)

我会回答它,因为我在绝望之前一直处于绝望之中 离开@ user2357112:
你将random_int = random.randrange(1,6)存储一次 循环实际上什么都不做,只是引用你先存储的random_int。
为了进行这种改变,你需要改变random_int中的值,最好是在for循环中放入random_int = random.randrange(1,6),每次都改变它。
我希望能够解决问题!

答案 3 :(得分:0)

由于分配线(第4行)位于循环外部,因此出现问题。 您基本上是首先分配random_int,然后一次又一次地打印它而不更改变量。

import random
import time

random_int = random.randrange(1, 6)
time.sleep(.1)
for i in range(1, 101):
    print(i)
    print("Random: ", random_int)
    time.sleep(random_int)

为了解决问题,请带上' random_int = random.randrange(1,6)'在循环内部,所以它为每个循环分配新值。喜欢这个

import random
import time


time.sleep(.1)
for i in range(1, 101):
    random_int = random.randrange(1, 6)
    print(i)
    print("Random: ", random_int)
    time.sleep(random_int)