【问题标题】:Putting multiple numbers from an input into one list将输入中的多个数字放入一个列表中
【发布时间】:2019-11-01 19:30:38
【问题描述】:

我正在尝试将来自一个输入的多个利率放入一个列表中。我假设只是在它们之间加一个逗号不会将它们分成列表中的不同变量?有没有办法可以将它们全部放入一个输入的列表中,还是我需要多次运行输入并每次添加一个?

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)

【问题讨论】:

  • 有几个选项可用。为了给出一个真正可靠的答案,提供一些输入和输出示例会有所帮助。

标签: python python-3.x list


【解决方案1】:

如果你输入的是这样的:

4 5 12 8 42

然后你可以简单地把它按空格分割并分配给values列表:

values = input().split()

如果您的输入类似于4,5,12,那么您需要使用split(',')

【讨论】:

    【解决方案2】:

    您可以将splitinput string 转换成几个string,然后再转换成float。这可以在一行中完成。

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

    在这里,我更进一步,您的下一步将是根据利率计算一些回报,因此您需要浮点数/整数来计算。

    【讨论】:

      【解决方案3】:

      python 字符串函数 split 可以接受分隔符并将输入字符串拆分为由该字符分隔的值列表。

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

      【讨论】:

        【解决方案4】:

        如果您接受输入,您可以使用以下方法将其转换为字符串:

        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
        

        【讨论】:

          猜你喜欢
          • 2020-10-04
          • 2012-03-03
          • 1970-01-01
          • 2015-08-11
          • 2019-01-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多