Помещение нескольких чисел из входа в один список - PullRequest
0 голосов
/ 01 ноября 2019

Я пытаюсь поместить несколько процентных ставок из одного входа в список. Я предполагаю, что просто поставить запятую между ними не разделить их на разные переменные в списке? Есть ли способ, которым я могу получить их все в списке в одном входе или мне нужно запустить вход несколько раз и добавить один каждый раз?

interest_rates_list = []


while True:
    investment = input("Please enter the amount to be invested ")
    periods = input("Please enter the number of periods for investment maturity ")
    if int(periods) < 0:
        break
    interest_rates = input("Please enter the interest rate for each period ")
    interest_rates_list.append(interest_rates)

Ответы [ 4 ]

2 голосов
/ 01 ноября 2019

Если вы вводите что-то вроде:

4 5 12 8 42

, тогда вы можете просто разделить его на пробелы и присвоить списку values:

values = input().split()

Если ваш ввод что-то вроде4,5,12, тогда вам нужно использовать split(',').

0 голосов
/ 01 ноября 2019

Если вы берете ввод, вы можете преобразовать его в строку, используя:

str(interest_rates)

Пусть это будет переменная A Итак, A = str(interest_rates)

Теперь, чтобы отделить каждую записьиз процентных ставок мы делаем:

interest_rates_list = A.split(' ')

Эта функция буквально разбивает строку на все пробелы и возвращает список всех сломанных кусочков.

ПРИМЕЧАНИЕ: если вы сделаете A.split(*any string or character*)он будет разделен на упомянутого персонажа. Может быть ',' или ';'или ':' и т. д.

Теперь вы можете перемещаться по вновь сформированному списку и конвертировать все числа, хранящиеся в виде строки, в целые или с плавающей точкой, выполнив

for i in interest _rates_list:
    i = float(i) #or int(i) based on your requirement
0 голосов
/ 01 ноября 2019

Функция разбиения строки Python может принимать символ-разделитель и разбивать входную строку на список значений, разделенных этим символом.

interest_rates = input("Please enter the interest rate for each period ")
interest_rates_list = interest_rates.split(",")
0 голосов
/ 01 ноября 2019

Вы можете split input string на несколько string и затем преобразовать его в float. Это можно сделать в одну строку.

interest_rates = list(map(float, interest_rates.split(",")))

Здесь я сделаю еще один шаг, следующим шагом будет расчет некоторой доходности на основе процентных ставок, поэтому для этого вам понадобится float / integer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...