如何摆脱除外产生的文字?

时间:2019-02-11 03:49:45

标签: python

这是一个用python 3.7编写的计算器,它可以正常工作,但是我只想做一点改进,所以我会问你,从第0行到第6行,我做了一个def hamming(n: Int): Seq[BigInt] = { @tailrec def next(x: Int, factor: Int, xs: IndexedSeq[BigInt]): Int = { val leq = factor * xs(x) <= xs.last if (leq) next(x + 1, factor, xs) else x } @tailrec def loop(i: Int, j: Int, k: Int, xs: IndexedSeq[BigInt]): IndexedSeq[BigInt] = { if (xs.size < n) { val a = next(i, 2, xs) val b = next(j, 3, xs) val c = next(k, 5, xs) val m = Seq(2 * xs(a), 3 * xs(b), 5 * xs(c)).min val x = a + (if (2 * xs(a) == m) 1 else 0) val y = b + (if (3 * xs(b) == m) 1 else 0) val z = c + (if (5 * xs(c) == m) 1 else 0) loop(x, y, z, xs :+ m) } else xs } loop(0, 0, 0, IndexedSeq(BigInt(1))) } 块,并将其循环try except。这将使此计算器的用户注意到“您输入的数字无效”。尽管它可以根据命令的结果正常运行,但是为了简单起见,我想让计算机在用户第一次输入无效数字后仅再次说“ enter_first_number”。所以我想摆脱“ invalid_number”。我可以只键入while True而不是print(),但是我不喜欢它由that产生的空白。谁能解决这个问题?

代码:

print(invalid_number)

2 个答案:

答案 0 :(得分:0)

  

所以我想摆脱“无效编号”。

except内的打印语句替换为pass,什么都不做。

while True:
    try:
        num1 = float(input("enter_first_number_&_press_enter: "))
        break
    except ValueError:
        pass

答案 1 :(得分:0)

尝试用pass替换打印语句。

例如:

try:
    num1 = float(input("enter_first_number_&_press_enter: "))
    break
except ValueError:
    pass

pass命令告诉python不做任何事情即可继续运行。

否则,将打印语句替换为print('', end='')将打印出一个空字符串,结尾没有换行符。