如何测试 python 中的变量?

How to test variable in python?

我是 python 的新手,我在 运行 的脚本中得到了我需要的一切,除了我需要变量 "a" 如果它是“0[=17”则不被接受=]0" 告诉用户输入一个非 0 的数字。我该怎么做?

1 #!/usr/bin python 3
2
3 import cmath
4 import math
5 import sys
6
7 print ("ax^2 + bx + c = 0")
8
9 while True:
10
11         try:
12                 a = float(input("Enter a: "))
13                 b = float(input("Enter b: "))
14                 c = float(input("Enter c: "))
15         except ValueError:
16                 print("Please enter a number!")
17         else:
18                 print (a,"x^2 + ",b,"x + ",c," = 0")
19                 x = (b**2) - (4*a*c)
20
21                 x1 = (-b+cmath.sqrt(x))/(2*a)
22                 x2 = (-b-cmath.sqrt(x))/(2*a)
23
24                 print ("x1= ",x1)
25                 print ("x2= ",x2)
26
27 exit(0)

~ ~ ~ ~

在以下情况下使用:

if a != 0:
    do something

你可以这样做: 如果 a==0: 打印 "Enter a valid number!" 继续

... 并为每个变量重复。使用条件语句。此外,如果您使用 float 函数而不是 int,它将是 "if a==0.0" 或 "if a!=0.0"

并且您可以创建一个 def() 函数来处理数字输入以节省输入,例如:

def input_number():
    while True:
        try:
            n=float(input())
            if n!=0.0: return n
        except:
            print "Enter a valid number!"

然后就这样称呼它:

a=input_number()

将代码的 a 输入部分更改为:

a = float(input("Enter a: "))
if a == 0.0:
    print('a must be non-zero!')
    continue

continue 语句表示立即转到(最内层)循环的顶部。

如果您愿意,您可以 raise ValueError(如乔恩建议的那样)代替 continue 语句。