简体   繁体   中英

Putting multiple numbers from an input into one list

I'm trying to put multiple interest rates from one input into a list. I'm assuming just putting a comma between them wont separate them into different variables in the list? Is there a way I can get them all into a list in one input or do i need to run the input multiple times and add one each time?

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)

If you input is something like:

4 5 12 8 42

then you can simply split it up by space and assign to values list:

values = input().split()

If your input something like 4,5,12 , then you need to use split(',') .

You can split the input string into several string and then convert it to float . This can be done in one line.

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

Here I go a step further, your next move will be to calculate some return based on interest rates, and so you will need float/integer to do so.

The python string function split can accept a delimiter character and split the input string into a list of values delimited by that character.

interest_rates = input("Please enter the interest rate for each period ")
interest_rates_list = interest_rates.split(",")

If you take the input, you can convert it to a string by using:

str(interest_rates)

Let this be variable A So, A = str(interest_rates)

Now, to seperate each entry of the interest rates, we do:

interest_rates_list = A.split(' ')

This function literally splits the string at all spaces and returns a list of all the broken pieces.

NOTE: if you do A.split(*any string or character*) it'll split at the mentioned character. Could be ',' or ';' or ':', etc.

Now you can iter over the newly formed list and convert all the numbers stored as string to ints or floats by doing

for i in interest _rates_list:
    i = float(i) #or int(i) based on your requirement

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM