如何通过更改随机数进行循环?

时间:2016-12-13 10:22:31

标签: python python-3.x loops random while-loop

我想制作一款能产生多重方程的游戏。我想让你得到一个简单的乘法方程(例如:5 * 6),当你回答它时,程序会告诉你你是否正确,然后会转到下一个随机方程。 我知道如何用很多不同的随机数制作它,但这会使代码很长而且不够优雅。 我需要一种方法来每次生成两个不同的随机数,而不必建立数据库,让我们说20个不同的随机数。有谁知道怎么做? 谢谢!

这是我到目前为止所写的代码:

import random
import sys
import os

random_num1 = random.randrange(1, 10)
random_num2 = random.randrange(1, 10)

print(random_num1, 'X', random_num2, '=', )

def multiplication(random_num1, random_num2):
    sumNum = random_num1 * random_num2
    return sumNum

one = input()

if(int(one) == multiplication(random_num1, random_num2)):
    print('true')
else:
    print('false')

3 个答案:

答案 0 :(得分:0)

将所有代码放入一个永远不会以while True:结束的while循环中(并且不要忘记将所有内容移动到右侧的一个选项卡中)。

建议将def multiplication移出while循环。

答案 1 :(得分:0)

您可以使用函数和while循环轻松完成此操作。比方说,你想玩10次,最后想要得分。

def multiplication(random_num1, random_num2):
    sumNum = random_num1 * random_num2
    # Indentation fixed
    return sumNum

def play() : 
    random_num1 = random.randrange(1, 10)
    random_num2 = random.randrange(1, 10)

    print(random_num1, 'X', random_num2, '=', )

    one = input()

    if(int(one) == multiplication(random_num1, random_num2)):
       return 1
    else:
       return 0

if __name__ == '__main__' :
    number_of_play = 10
    cpt = 0
    result = 0
    while cpt < number_of_play :
        cpt+=1
        cpt += play()
    print "Wow you perform {} out of {}".format(result, number_of_play)

答案 2 :(得分:0)

这是我做的一个简单的例子(用&#34;尝试&#34;语句编辑):

exec master.sys.sp_MSforeachdb 'USE [?]; exec usp_trim_all_string_columns;'

我试图尽可能清楚。我希望它对你有用。