所以我想要一个脚本给我一组10个简单多项式来简化。让我们忽略当前输出不是有效多项式的事实。我想用随机整数,变量和运算符打印10,但是当我循环它们时,我只会遇到10次相同的问题。每次如何获得唯一的设置?
我很难获得一个唯一的术语,但是通过为每个术语创建一个唯一的术语(term0,term1)等解决了这个问题。
import random
def int():
interger = random.randint(2,10)
return interger
def variable():
letter = ["x","y",""]
variable = random.choice(letter)
return variable
def op():
op = ["+","-","+"]
operation = random.choice(op)
return operation
term0 = op(), int(), variable()
term1 = op(), int(), variable()
term2 = op(), int(), variable()
term3 = op(), int(), variable()
for x in range(10):
print(*term0,*term1,*term2,*term3,sep='',)
我希望为每个循环获得唯一的输出,但是目前我只得到10次相同的结果。
答案 0 :(得分:2)
在循环内调用随机选择函数。这样,元素将在每次迭代中随机选择一次,而不是在循环之前选择一次:
for x in range(10):
term0 = op(), int(), variable()
term1 = op(), int(), variable()
term2 = op(), int(), variable()
term3 = op(), int(), variable()
print(*term0,*term1,*term2,*term3,sep='',)
答案 1 :(得分:0)
您没有 not 生成十个多项式。您为一个多项式生成了四个项,然后打印了相同数据十次。如果需要新值,则需要在循环内而不是外部调用函数。
for x in range(10):
term0 = op(), int(), variable()
term1 = op(), int(), variable()
term2 = op(), int(), variable()
term3 = op(), int(), variable()
print(*term0, *term1, *term2, *term3, sep='',)