# Перевод из восьмиричной системы счисления в десятиричную
s = str(x)
c=0
sum = 0
for i in s[::-1]:
sum += int(i)*8**c
c+=1
return sum
def decToOct(x):
# Перевод из десятиричной системы счисления в восьмиричную
s = ""
while x > 0:
s = str(x%8) + s
x = x//8
return int(s)
def sumOct(a,b):
return decToOct(octToDec(a)+octToDec(b))
print(sumOct(7,7))
1 votes Thanks 1
Kira4074
Не, не, тут всё, конечно верно, но вы не поняли задание, я очень благодарен за ваш труд, но суть в том, что можно было бы вводить любые числа помимо 7 7 в отведённом диапазоне и программ переводить эти числа в восьмеричную систему.
pinguinbird
ок, просто замените семёрки в print(sumOct(7,7)) на print(sumOct(int(input('Введите a:')),int(input('Введите b:'))))
pinguinbird
и вводите, но помните, что цифры в восьмиричных числах могут быть от 0 до 7
pinguinbird
В задании сказано, что ввод производится восьмиричными числами. Так что то, что вы написали неверно - "можно было бы вводить любые числа помимо 7 7 в отведённом диапазоне и программ переводить эти числа в восьмеричную систему"
Answers & Comments
Ответ:
def octToDec(x):
# Перевод из восьмиричной системы счисления в десятиричную
s = str(x)
c=0
sum = 0
for i in s[::-1]:
sum += int(i)*8**c
c+=1
return sum
def decToOct(x):
# Перевод из десятиричной системы счисления в восьмиричную
s = ""
while x > 0:
s = str(x%8) + s
x = x//8
return int(s)
def sumOct(a,b):
return decToOct(octToDec(a)+octToDec(b))
print(sumOct(7,7))