#python
Вопрос:
start = int(input("Please enter starting number"))
end = int(input("Please enter ending number"))
amount = int(input("Please enter the amount to count"))
for i in range(start,end,amount):
print(i)
Я хочу, чтобы число из переменной «Сумма» было преобразовано в отрицательное число, чтобы я мог повернуть вспять range()
.
Комментарии:
1. Что
x * -1
же с этим делатьx
?2. ФУ, ты можешь просто использовать
reversed(range(...))
3.
range(start, end, -amount)
— но простое выполнение-amount
может не дать вам желаемого результата. Вам также придется проверить, еслиstart > end
.
Ответ №1:
Вы хотите отрицать это только в том случае, если начало больше, чем конец.
if start > end:
amount = -amount
Или вы можете вставить это прямо в range()
звонок:
for i in range(start, end, -amount if start > end else amount):
Комментарии:
1. Чтобы расширить это, вы также можете
-1*abs(amount)
просто убедиться, что в итоге получите отрицательное число, даже если пользователь заранее ввел отрицательное число.2. хорошая мысль. Однако я бы добавил это на этапе ввода. `сумма = abs(int(ввод(«Пожалуйста, введите сумму для подсчета»)))
Ответ №2:
Я не уверен, что это то, чего вы действительно хотите, но чтобы превратить сумму в отрицательное число, вы можете просто ввести это:
amount = amount * -1