#python
#python
Вопрос:
Мне нужно написать простую программу на python 3.6, которая принимает вводимые пользователем данные и вычисляет значение n n*n n*n*n n*n*n*n
.
Итак, если пользователь вводит 7, то на консоль должно быть выведено следующее 7 7*7 7*7*7 7*7*7*7 = 2800
.
Как мне выполнить это с помощью функции print ?
До сих пор я пробовал следующее:
input_int = int(input("Please enter a value: "))
result_int = input_int input_int * input_int input_int * input_int * input_int input_int * input_int * input_int * input_int
print(input_int input_int * input_int input_int * input_int * input_int input_int * input_int * input_int * input_int, " = ", result_int)
и не дает мне того, что я хочу.
Комментарии:
1. Что вы пробовали до сих пор?
2. Обновил мой пост
3. Вы можете использовать преобразование
input_int
в строку и использоватьдля их объединения.
4. Пожалуйста, покажите больше контекста. Откуда
input_int
берется? Для чего выполняется ваш расчетresult_int
?5. В любом случае, конечно, это не дает вам того, что вы хотите — например, в вашем коде нет ничего, что пытается создать
*
символы or в выходных данных. Логически продумайте этапы решения проблемы.
Ответ №1:
input_int = int(input("Please enter a value: "))
result_int = input_int input_int * input_int input_int * input_int * input_int input_int * input_int * input_int * input_int
input_string = f'{input_int} {input_int} * {input_int} {input_int} * {input_int} {input_int} * {input_int} {input_int} * {input_int} {input_int} = {result_int}'
print(input_string)
Ответ №2:
Вот небольшая помощь, поскольку это похоже на обычное назначение.
Вам нужно преобразовать целые числа в строки и обрабатывать математические символы как строки… Итак, что-то вроде этого…
In [2]: my_int = 7
In [3]: # convert to a string...
In [4]: my_int = str(my_int)
In [5]: print(my_int,' ',my_int,'*')
7 7 *
Ответ №3:
Учитывая, что ваш результат уже сохранен в result_int, а ‘n’ хранится в input_int .
print(input_int input_int * input_int input_int * input_int * input_int input_int * input_int * input_int * input_int, " = ",result_int)
Это не сработает, так как вы непосредственно печатаете значение.
Вам нужно использовать что-то вроде:
print(input_int ' ' input_int '*' input_int ' ' input_int '*' input_int '*' input_int ' ' input_int '*' input_int '*' input_int '*' input_int, " = ",result_int)
Это дало бы желаемый результат.
Комментарии:
1. Или мы можем использовать цикл for для итеративной печати этого?
2. Да, мы также можем использовать для этого цикл for .
Ответ №4:
Если число итераций фиксировано равным 4, вы можете выполнить итерацию от 1 до 5 или, если ваша итерация динамическая, вы можете заменить 5 своей переменной.
input_int = int(input("Please enter a value: "))
out = 0
string = ''
for i in range(1,5):
string = (str(input_int) "*")*i " "
out = pow(input_int, i)
string = string.replace("* ", " ")[:-2] " = "
print(string str(out))
Объясните:
for повторяется от 1 до 5, что приводит к повторению в 4 раза.
string = (str(input_int) ««)i » «, который создаст строковое отображение, подобное 7 7 7 7 7 7*
Здесь необходимо удалить лишние знаки ‘*’ и ‘ ‘.
out = pow(input_int, i)
Pow — это функция python по умолчанию для вычисления квадрата числа, например pow(7,2)
Замените лишние ‘*’ и ‘ ‘ на replace
и добавьте ‘=’ в конце.
Ответ №5:
Прочитав последние комментарии, я думаю, вы ищете что-то вроде этого:
x = 7
result = 7 (7 * 7) (7 * 7 * 7) (7 * 7 * 7 * 7)
print(f'{x} {x} * {x} {x} * {x} * {x} {x} * {x} * {x} * {x} = {result}')
Вывод
7 7 * 7 7 * 7 * 7 7 * 7 * 7 * 7 = 2800
Документация по Python: форматированные строковые литералы (f-строки)
Ответ №6:
Просто немного математики.
>>> n = 7
>>> (n**5 - 1) // (n - 1) - 1
2800