我正在嘗試編寫一個簡單的數學表達式生成器。我遇到的問題是使用從一個範圍內選擇的隨機數來實現表達式,並在每個數之間插入一個隨機運算符。Python:`choice()`選擇相同的選擇
這是我到目前爲止有:
from random import randint
from random import choice
lower = int(raw_input("Enter a lower integer constraint: "))
higher = int(raw_input("Enter a higher integer constraint: "))
def gen_randoms(lower, higher):
integers = list()
for x in xrange(4):
rand_int = randint(lower, higher)
integers.append(rand_int)
return integers
def gen_equations(integers):
nums = map(str, integers)
print nums
operators = ['*', '+', '-']
equation = 'num op num op num op num'
equation = equation.replace('op', choice(operators))
equation = equation.replace('num', choice(nums))
print equation
nums = gen_randoms(lower, higher)
gen_equations(nums)
這裏的問題是輸出將重複運營商選擇和隨機整數選擇,所以它給5 + 5 + 5 + 5
或1 - 1 - 1 - 1
,而不是像1 + 2 - 6 * 2
。我如何指示choice
生成不同的選擇?
爲什麼downvote? – NPE
@NPE我也很想知道。 – Marcin
建議的「正確方法」不能幫助OP解決他的問題。 –