【问题标题】:How to affect displaying of list with for loop?如何使用 for 循环影响列表的显示?
【发布时间】:2023-03-12 21:49:01
【问题描述】:

我正在尝试使用循环或任何其他基本方法显示温度转换列表。请保持非常基本;没有进口。 这是我现在拥有的代码:

temperature_list = [[-10,0,10,20,30,40,50,60,70,80,90,100],
                [-23.33,-17.78,-12.22,-6.67,-1.11,4.44,10,15.56,21.11,26.67,32.22,37.78]]


for farenheit in range(12):
    print ('Farenheit:',temperature_list[0][farenheit])

for celsius in range(12):
    print('Celsius:', temperature_list[1][celsius])

现在,我要显示的是华氏温度,然后是相应的摄氏温度转换。使用此代码,它只显示所有华氏温度,然后显示所有摄氏温度。我不太明白如何将它们排列起来以显示华氏值,然后显示摄氏值等等。

【问题讨论】:

    标签: python list for-loop display


    【解决方案1】:

    您必须在同一个循环中打印两个子列表。如果您想在相同的字符串中打印它们 - 使用 format() 方法。字符串中的弯括号定义了 format() 参数值的位置。

    for i in range(12):
        print('{} F = {} C'.format(temperature_list[0][i], temperature_list[1][i]))
    

    您还可能会发现字典的用处:

    temperature_list = {'farenheit':[1, ... , 500], 'celcius':[23, ..., 329]} #numbers are just for the example, no real farenheit/celsius accordance
    print(temperature_list['farenheit'][0])
    

    【讨论】:

      【解决方案2】:

      首先您需要了解循环是如何工作的,您的循环 1 即显示 Farenheit 的循环正在显示 temperature_list[0][0....11] 的所有内容 然后第二个循环显示 temperature_list[1][0....11] 的所有内容 你想要显示的是这样的:

      华氏度:温度列表[0][0] 摄氏度:温度列表[1][0]

      华氏:温度列表[0][1] 摄氏:温度列表[1][1]

      华氏度:温度列表[0][2] 摄氏度:温度列表[1][2]

      .

      .

      .

      .

      华氏温度:temperature_list[0][11] 摄氏温度:temperature_list[1][11]

      所以你只需要使用一个循环。将您的代码替换为

      temperature_list = [[-10,0,10,20,30,40,50,60,70,80,90,100],
                  [-23.33,-17.78,-12.22,-6.67,-1.11,4.44,10,15.56,21.11,26.67,32.22,37.78]]
      for temperature in range(12):
           print ('Farenheit:',temperature_list[0][temperature])
           print('Celsius:', temperature_list[1][temperature])
      

      希望这能帮助你更好地理解!

      【讨论】:

      • 不要给出类似的答案
      • 没有看其他答案!
      • 你应该这样做,因为它是社区;不是私人聊天。
      • 我很高兴知道这一点!
      【解决方案3】:

      将序列解包和zip 与 f 字符串一起使用(Python 3.6+):

      far, celsius = [[-10,0,10,20,30,40,50,60,70,80,90,100],
                      [-23.33,-17.78,-12.22,-6.67,-1.11,4.44,10,15.56,21.11,26.67,32.22,37.78]]
      
      for f, c in zip(far, celsius):
          print(f'Farenheit: {f}, Celsius: {c}')
      
      Farenheit: -10, Celsius: -23.33
      Farenheit: 0, Celsius: -17.78
      Farenheit: 10, Celsius: -12.22
      Farenheit: 20, Celsius: -6.67
      Farenheit: 30, Celsius: -1.11
      Farenheit: 40, Celsius: 4.44
      Farenheit: 50, Celsius: 10
      Farenheit: 60, Celsius: 15.56
      Farenheit: 70, Celsius: 21.11
      Farenheit: 80, Celsius: 26.67
      Farenheit: 90, Celsius: 32.22
      Farenheit: 100, Celsius: 37.78
      

      【讨论】:

        【解决方案4】:

        使用zip:

        temperature_list = [[-10,0,10,20,30,40,50,60,70,80,90,100], 
                            [-23.33,-17.78,-12.22,-6.67,-1.11,4.44,10,15.56,21.11,26.67,32.22,37.78]]
        
        for f, t in zip(temperature_list[0], temperature_list[1]):
            print('Farenheit: {}, Celsius: {}'.format(f, t))
        

        【讨论】:

          【解决方案5】:

          你可以这样做:

          temperature_list = [[-10,0,10,20,30,40,50,60,70,80,90,100],
                          [-23.33,-17.78,-12.22,-6.67,-1.11,4.44,10,15.56,21.11,26.67,32.22,37.78]]
          
          
          for temperature in range(12):
              print ('Farenheit:',temperature_list[0][temperature])
              print('Celsius:', temperature_list[1][temperature])
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-05-11
            • 2021-12-13
            • 2019-10-08
            • 1970-01-01
            • 2021-01-17
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多