Я просто новичок в изучении кода без каких-либо предварительных знаний.
Я написал простой код ниже, чтобы применить мои знания об определении функций и цикл for для работы. Этот код, предположительно, позволит пользователю получить любую цифру для мощности на основе их ввода. Однако, как вы увидите ниже, я всегда получаю результат 0.
Я честно не знаю, где я ошибся, и мне сказали, что мой код не самый читаемый. Таким образом, я хотел бы обратиться за помощью в разъяснении мне, что с ним не так, и как сделать это лучше.
Большое спасибо, ребята!
def to_power(base, power):
result = 1
for base in range(power):
result = result * base
return int(result)
print(to_power(int(input("Enter Base Number: ")), int(input("Enter Power: "))))
Введите базовый номер: 4
Введите мощность: 4
0
Процесс завершен с кодом выхода 0
Вы были близки. Это рабочая версия вашего кода.
Проблема с вашим кодом:
range(power)
будет генерировать значения, начиная с 0
до power-1
. Вы использовали base
чтобы перебирать эти значения, и поскольку вы использовали result = result * base
, вы умножались на 0, поэтому вы получаете 0Решение:
power
и размножить base
для этого количества (power
). Так как индекс цикла не используется здесь, я использовал _
in for _ in range(power):
def to_power(base, power):
result = 1
for _ in range(power):
result = result * base
return int(result)
print(to_power(int(input("Enter Base Number: ")), int(input("Enter Power: "))))
# Enter Base Number: 4
# Enter Power: 4
# 256
выглядит так, как вы хотите:
def to_power(base, power):
result = 1
for i in range(power):
result = result * base
return int(result)
Пример:
to_power(4,4)
Out[5]: 256
_
, который кажется неопределенным, сможет предотвратить переход результата к 0. Кроме того, не является ли индекс цикла положением какого-либо значения в строке а список? И наконец, почему мои входные данные дляbase
переводятся в 0, когда мои входные данные! = 0?