ответ: Тут в задание опечатка скорее всего
Если делать по примеру из задания, будет такой код:
for i in range(20):
n = i
n = bin(n)[2:]
sum = 0
if int(n) % 2 == 0:
sum = str(n).count('1')
sum = bin(sum)[2:]
r = n + sum
else:
r = '11' + n + '00'
r = int(r, 2)
if r > 215:
print(i)
Если делать по условию задание, будет такой код:
for i in range(30):
n = i
n = bin(n)[2:]
sum = 0
if int(n) % 2 == 0:
sum = str(n).count('1')
sum = bin(sum)[2:]
r = n + sum
else:
r = '1' + n + '00'
r = int(r, 2)
if r > 215:
print(i)
try:
n = int(input("Please, input an N: "))
except:
print("N - should be an integer")
if ( n > 64):
print("N should be lower than 64")
print("The program is closed")
exit(0)
print("Filling array B from file...")
b = []
my_file = open("c:\B_array.txt", "r")
content = my_file.read()
b = content.split(",")
my_file.close()
print("Filling associate array A NxN from array B...")
a_row = []
a = []
for j in range(n):
a_row = []
for i in range(n):
a_row.append(b[j*n+i])
a.append(a_row)
print("Array A: "+ str(a))
print("Array B: " + str(b))
Объяснение:
Все описание в самой программе