【问题标题】:how can i make this code shorter using for loop如何使用 for 循环使这段代码更短
【发布时间】:2019-01-30 07:29:48
【问题描述】:

我想知道如何使用 for 循环使这段代码更短 有什么建议吗? 很抱歉问你们简单的问题

谢谢

if (int(classes[0][0])==1):
    print('icis_0.8_water')
if (int(classes[0][0])==2):
    print('nevia')
if (int(classes[0][0])==3):
    print('Xiaomi')
if (int(classes[0][0])==4):
    print('hyundai_mouse')
if (int(classes[0][0])==5):
    print('peace_stapler')

if (int(classes[0][1])==1):
    print('icis_0.8_water')
if (int(classes[0][1])==2):
    print('nevia')
if (int(classes[0][1])==3):
    print('Xiaomi')
if (int(classes[0][1])==4):
    print('hyundai_mouse')
if (int(classes[0][1])==5):
    print('peace_stapler')

if (int(classes[0][2])==1):
    print('icis_0.8_water')
if (int(classes[0][2])==2):
    print('nevia')
if (int(classes[0][2])==3):
    print('Xiaomi')
if (int(classes[0][2])==4):
    print('hyundai_mouse')
if (int(classes[0][2])==5):
    print('peace_stapler')

【问题讨论】:

    标签: python for-loop


    【解决方案1】:

    你可以使用字典

    d = {
        1: 'icis_0.8_water',
        2: 'nevia',
        3: 'Xiaomi',
        4: 'hyundai_mouse',
        5: 'peace_stapler'
    }
    print(d[int(classes[0][0])])
    print(d[int(classes[0][1])])
    print(d[int(classes[0][2])])
    

    希望对你有帮助..

    【讨论】:

      【解决方案2】:

      你可以试试:

      results = ['icis_0.8_water', 'nevia', 'Xiaomi', 'hyundai_mouse', 'peace_stapler']
      for i in range(3):
          for j in range(1, 6):
              if(int(classes[0][i]) == j):
                  print(results[j - 1])
      

      当然,如果您有更多“类”元素要检查,或者您有更多可能的结果(并添加额外的外部“for”循环来遍历 classes[k][i] 元素,其中“ k”正在改变)。

      【讨论】:

        【解决方案3】:
        for i in range(len(classes[0])):
          if (int(classes[0][i])==1):
            print('icis_0.8_water')
          if (int(classes[0][i])==2):
            print('nevia')
          if (int(classes[0][i])==3):
            print('Xiaomi')
          if (int(classes[0][i])==4):
            print('hyundai_mouse')
          if (int(classes[0][i])==5):
            print('peace_stapler')
        

        如果要循环classses rows数组,请在外面添加一个for循环。

        【讨论】:

        • 但是有些问题...当我运行此代码时,它会返回所有类。当我运行我的代码时,它可以正常工作。但我不知道为什么这个结果是错误的。
        猜你喜欢
        • 2013-05-04
        • 1970-01-01
        • 1970-01-01
        • 2021-09-25
        • 2017-08-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多