Wygenerowano dwie liczby losowe A i B o wartości 1, 2 lub 3
Twoim zadaniem jest losowe wybranie trzeciej liczby C, która może również wynosić 1,2 lub 3. Ale C nie może być równe A ani B.
- I tak, A może być równe B.
- Jeśli A = B, to C ma tylko dwie liczby, może to być.
- Jeśli A nie jest równe B, C może mieć tylko jedną liczbę.
- Załóż, że A i B zostały już dla Ciebie wybrane
Tak powstałyby A i B w Pythonie
A = random.randrange(1,4)
B = random.randrange(1,4)
Załóżmy, że jest to już zawarte w kodzie.
To jest najkrótszy, jaki wymyśliłem w Pythonie
while True:
C = random.randrange(1,4)
if C != A and C != B:
break
Właśnie to mogą równać A, B i C.
- 1,2,3
- 1,1,2
- 2,3,1
- 3,3,2
To, czego A, B i C nie mogą się równać
- 1,2,1
- 2,3,3
- 1,1,1
- 3,2,3
C = (A!=B ? 6-A-B : (!(A-1) ? 2 : 1))
działa? Również twoje rozwiązanie jest wysoce nieefektywne, ponieważ marnuje czas na zapętlenie i może zająć nieskończoną ilość czasu. Ponadto import random
liczy się rozmiar bajtu ...