【问题标题】:Average Innings Score in pythonpython中的平均局数
【发布时间】:2021-01-24 13:03:06
【问题描述】:

我在 c++ 中尝试了这个程序的代码,它成功地完成了所有的测试用例。但在 python 语言中,它显示相同逻辑的值错误。如何解决这个问题? [1]:https://i.stack.imgur.com/vVLmv.jpg 我的代码:

def avg(s,n):
  sum1=0
  sum2=0
  for i in range(0,n):
      for j in range(0,2):
          if j%2==0:
             sum1+=s[i][j]
          else:
             sum2+=s[i][j]
  print((float)(sum1/n))
  print((float)(sum2/n))
n=int(input())
c=2
s=[[0 for j in range(0,c)]for i in range(0,n)]
for i in range(0,n):
    for j in range(0,c):
        s[i][j]=int(input())
avg(s,n)

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    你输入的方式是错误的

    当您这样做s[i][j]=int(input()) 时,您正在将两个空格分隔的整数转换为一个整数

    def avg(s,n):
      sum1=0
      sum2=0
      for i in range(0,n):
          for j in range(0,2):
              if j%2==0:
                 sum1+=s[i][j]
              else:
                 sum2+=s[i][j]
      print((float)(sum1/n))
      print((float)(sum2/n))
    n=int(input())
    c=2
    # I am going to ask for user input n times, split the input every time and convert individual score to int 
    s=[list(map(int, input().split())) for _ in range(n)]
    avg(s,n)
    
    2
    100 200
    200 300
    150.0
    250.0
    

    【讨论】:

    • 谢谢你..!但是,它想将输出显示到小数点后两位..?
    • 您可以根据问题搜索到,这就是解决方案
    【解决方案2】:

    要打印最多两位小数的平均局数,我们可以使用此代码

    print(" %.2f" % (sum1 / n))
    print(" %.2f" % (sum2 / n))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多