【问题标题】:Checking min max without using function or list in python在 python 中不使用函数或列表检查 min max
【发布时间】:2020-04-26 10:09:40
【问题描述】:
min1=0
max1=0

while True:
    num=input("enter a number")
    if (num=='done'):
        break
    elif (num.isdigit()==False):
        print("sorry enter integers or done")
    elif (int(num)>max1):
        max1=num
    elif (int(num)<min1):
        min1=num
print(max1)
print(min1)

这是在 'int' 和 'str' 的实例之间不支持的抛出错误 '>'。我不能接受整数输入,因为当用户输入完成时我必须中断。另外,我必须考虑用户输入的非整数值。如何纠正此代码。

【问题讨论】:

    标签: python python-3.x string integer minmax


    【解决方案1】:

    假设num='5'。然后elif (int(num)&gt;max1): 保持不变,您将'5' 分配给max1。在下一次迭代中,max1 是一个字符串,因此会出现错误。解决方案是 - max1=int(num)min1 也是如此)。

    【讨论】:

      【解决方案2】:

      解决此问题的另一种方法是将输入转换为整数一次,而不是在整个代码中多次使用int(num)。 这样便于以后阅读。

      这方面的一个例子正在发生变化

      elif (num.isdigit()==False):

      elif (num.isdigit()==True):elif (num.isdigit())(他们做同样的事情)。

      然后您可以将字符串转换为整数 num = int(num)

      例子:

      min1=0
      max1=0
      
      while True:
          num=input("enter a number")
          if (num=='done'):
              break
          if num.isdigit():
              num = int(num)
          else:
              print("sorry enter integers or done")
              continue
          if (num>max1):
              max1=num
          elif (num<min1):
              min1=num
      print(max1)
      print(min1)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-10
        • 2021-12-01
        • 2014-09-27
        • 2019-09-13
        • 2013-02-15
        相关资源
        最近更新 更多