无法弄清打印语句的问题

时间:2019-06-17 17:05:16

标签: python printing error-handling

关于计划:

此程序采用整数和整数的输入长度,并在将整数分为两部分后产生输出的最小可能和。您可能会找到更多详细信息here

      Instances:
        Ec2KeyName: !Ref KeyName
        Ec2SubnetId: !ImportValue MySubnetPrivateA
        EmrManagedMasterSecurityGroup: !ImportValue EmrMasterSgId
        AdditionalMasterSecurityGroups:
          - !ImportValue EmrMasterAdditionalSgId
        EmrManagedSlaveSecurityGroup: !ImportValue EmrSlaveSgId
        AdditionalSlaveSecurityGroups:
          - !ImportValue EmrSlaveAdditionalSgId
        ServiceAccessSecurityGroup: !ImportValue EmrServiceSgId
        MasterInstanceGroup:
          InstanceCount: 1
          InstanceType: !Ref MasterInstanceType
          Market: ON_DEMAND
          Name: Master
        CoreInstanceGroup:
          InstanceCount: !Ref NumberOfCoreInstances
          InstanceType: !Ref CoreInstanceType
          Market: ON_DEMAND
          Name: Core
        TerminationProtected: false
      VisibleToAllUsers: true
      JobFlowRole: !Ref EMRClusterinstanceProfile
      ReleaseLabel: !Ref ReleaseLabel
      LogUri: !Ref LogUri
      Name: !Ref EMRClusterName
      AutoScalingRole: EMR_AutoScaling_DefaultRole
      ServiceRole: !Ref EMRClusterServiceRole
      Tags:
        -
          Key: "cluster_name"
          Value: "master.emr.my.com"

当我尝试输入整数时:

  1. 7和1234567-我得到了1801的正确输出
  2. 4和0001-以及1的正确输出

但是当我尝试输入时 4 1000 程序抛出输出 ValueError:int()的无效文字,基数为10:''我无法找出原因

2 个答案:

答案 0 :(得分:0)

if j==0:
    print(int(s[0:i]) + int(s[i:n]))

对于输入4和1000,in等于4。

这意味着s[i:n]变为s[4:4],这是一个空字符串。您不能在空字符串上调用int()

答案 1 :(得分:0)

该错误告诉您问题所在:GOOGLE_APPLICATION_CREDENTIALS。这意味着您将得到一个空字符串ValueError: invalid literal for int() with base 10: ''作为""的参数。在您提供的代码示例中,将发生此错误,因为当int()等于s[i:n]""返回i。 您可以使用以下n检查该调试:

print