Я имею в виду создать игру типа выборов, в которой голоса будут генерироваться случайным образом, проблема в том, что я не могу получить случайные числа для генерации случайных чисел в диапазоне, например, я говорю случайным образом обменивать 1 и 2 случайным образом И то, что я получаю, это то, что во всем диапазоне одного и того же числа ... я оставляю экран для ясности ...!
То, за чем оно последует, состоит в том, что ты производишь nГєmero случайный вне цикла. А именно, она funciГіn randint
только работает однажды производя один nГєmero случайный (что ты сохранял в переменной valor
).
Для того, чтобы тебя произвело случайное различное число, ты должен помещать она funciГіn randint
внутри цикла, например:
import random
for a in range(11):
valor = random.randint(1, 2) # fijate que esta dentro del ciclo
print(a, valor)
Если ранг не является очень большим, ты можешь создавать array booleano, названный например "доступный", инициализировавший в true, который он покажет, что числа ранга доступны, и переменная "доступные" с количеством случайных чисел, которые мы считаем доступным, инициализировавшим в disponible.length, тогда выбирать число случайным образом между 1 и "доступные", и обращаться "доступно" ища положение "true" пронумеровало "случайность", положение будет ответом, мы распределяем "false" в положении "случайности" и decrementamos "доступные". Таким образом, нарушая доступный одинокий "false" они выйдут однажды. Извинение, которое не показывало бы код python, но я это не знаю. Пример в javascript:
<!DOCTYPE html>
<button onclick="aleatorio()">Mostrar numero aleatorio</button>
<button onclick="resetear()">Resetear rango</button>
<SCRIPT>
var rango=11; // de 0 a 10;
var disponible=[];
var disponibles;
function resetear(){
for (var i=0; i<rango; i++) disponible[i]=true;
disponibles=rango;
}
function aleatorio(){
if (!disponibles) {document.body.innerHTML+="Fin "; return;}
var azar=Math.floor(Math.random()*disponibles)+1;
var contador=0, posicion=0;
while (contador<azar) if (disponible[posicion++]) contador++;
disponible[--posicion]=false;
disponibles--;
document.body.innerHTML+=posicion+" ";
}
resetear();
</SCRIPT>