擅长:python、mysql、java
<p>我认为问题在于,在if/elif语句中声明了变量a、b、c和d。这意味着它们的范围在这些语句中</p>
<p>什么是示波器?这是代码的“区域”,您的变量将被识别为“存在”</p>
<p>例如:</p>
<pre><code>def foo(a) :
if a is true :
b = "bar"
print(b)
</code></pre>
<p>在这种情况下,<code>b</code>的作用域在if语句中,if中此赋值之后的所有内容都将访问它。因此,在<code>print(b)</code>调用的时刻,b是未知的,因为我们在范围之外</p>
<p>因此,为了解决问题,您应该在ifs之外定义变量。像这样:</p>
<pre><code>a = 0
b = 0
c = 0
d = 0
if(#####)
if select1 == 92:
a = print(l * 1, "Manat")
print("Gasoline Injected.")
elif select1 == 95:
b = print(l * 1.40, "Manat")
print("Gasoline Injected.")
elif select1 == Diesel:
c = print(l * 0.90, "Manat")
print("Gasoline Injected.")
elif select1 == Premium:
d = print(l * 2.0, "Manat")
print("Gasoline Injected.")
if select == "Total":
print("Total Amount:", a + b + c + d)
</code></pre>
<p>第二点,python中的<code>print</code>函数的返回值是<code>None</code>,这意味着您将<code>None</code>赋值给变量a、b、c、d</p>
<p>因此,要纠正你的a、b、c、d,你应该:</p>
<pre><code>a = l * 1
b = l * 1.40
c = l * 0.90
d = l * 2
</code></pre>