Преобразуйте положительный ввод в отрицательное число

#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