random.random()
возвращает число с плавающей точкой, которое больше 0 и меньше 1, так int(random.random()*2)
будет только когда-либо привести к 0 или 1. Модуль random
имеет определенную функцию, чтобы возвращать случайные целые числа в заданный диапазон, который проще использовать, чем «сворачивание собственного» алгоритма случайных чисел (и с результатами, которые обычно более однородны).
Но random
также имеет функцию возврата случайного элемента последовательности (например, str, кортеж или список), поэтому целесообразно использовать это для выбора вашего случайного оператора. Например,
#! /usr/bin/env python
import random
sign = "+-*"
for i in range(10):
op = random.choice(sign)
digit = random.randint(0, 9)
print op, digit
типичный выход
+ 7
* 9
+ 0
* 6
* 8
* 5
+ 0
- 1
- 6
- 3
Я изменил имя переменной op
в этом коде, потому что operator
это имя стандартного модуля. Это не ошибка для использования этого имени для ваших собственных переменных, но это определенно вызовет проблемы, если вы хотите импортировать этот модуль. И это также сбивает с толку людей, читающих ваш код.
Это исправляет часть кода. Спасибо, чувак! – swagdaddy