Persilangan
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
import random
n = 50
showProcess = False
raw_gamet = 'pk'
row = []
row_o = 0
column = []
column_o = 0
o = 1
split = ' '
filial = ''
pos = []
gamet = []
gamet_o = 0
gamet_row = 0
gamet_column = 0
def upper_low(string_src, add_to_list):
add_to_list += [string_src.upper()]
add_to_list += [string_src.lower()]
def add(x, y, z):
z += [x + y]
def upper_lowwer_sort(gamet1, gamet2):
picked1 = gamet1
picked2 = gamet2
global filial
if picked1[0].isupper() == True:
filial = filial + picked1[0]
if picked2[0].isupper() == True:
filial = filial + picked2[0]
if picked1[0].islower() == True:
filial = filial + picked1[0]
if picked2[0].islower() == True:
filial = filial + picked2[0]
if picked1[1].isupper() == True:
filial = filial + picked1[1]
if picked2[1].isupper() == True:
filial = filial + picked2[1]
if picked1[1].islower() == True:
filial = filial + picked1[1]
if picked2[1].islower() == True:
filial = filial + picked2[1]
def unique(numbers):
unique = []
for number in numbers:
if number in unique:
continue
else:
unique.append(number)
return unique
for i in range(len(raw_gamet)):
if o == 1:
upper_low(raw_gamet[0], row)
print(row)
upper_low(raw_gamet[1], column)
print(column)
for i in range(len(column)):
add(row[row_o], column[column_o], gamet)
if column_o != len(column) - 1:
column_o += 1
else:
column_o = 0
if row_o != len(row) - 1:
row_o += 1
else:
row_o = 0
o += 1
print('\nGamet:')
print(gamet)
for i in range(len(gamet)):
picked1 = gamet[gamet_row]
for i in range(len(gamet)):
picked2 = gamet[gamet_column]
upper_lowwer_sort(picked1, picked2)
pos += [[filial]]
filial = ''
if gamet_column != len(gamet) - 1:
gamet_column += 1
else:
gamet_column = 0
if gamet_row != len(gamet) - 1:
gamet_row += 1
else:
gamet_row = 0
print('\nKemungkinan:')
print(pos)
if showProcess == True:
print('\nProses:')
filial = ''
for i in range(n):
pos_num = 0
picked1 = random.choice(gamet)
picked2 = random.choice(gamet)
upper_lowwer_sort(picked1, picked2)
for i in range(len(pos)):
if filial == pos[pos_num][0]:
if len(pos[pos_num]) != 1:
count = pos[pos_num][1]
count += 1
pos[pos_num][1] = count
else:
count = 0
count += 1
pos[pos_num] += [count]
if pos_num < len(pos):
pos_num += 1
if showProcess == True:
print(filial)
filial = ''
pos = unique(pos)
pos_num = 0
print('\nJumlah:')
for i in range(len(pos)):
print(pos[pos_num][0] + split + str(pos[pos_num][1]))
if pos_num < len(pos):
pos_num += 1
pos_num = 0
count = 0
print('\nJumlah total:')
for i in range(len(pos)):
count += pos[pos_num][1]
if pos_num < len(pos):
pos_num += 1
print(count)
Python
INFO