擅长:python、mysql、java
<p>正如评论中指出的,代码中的主要问题如下:</p>
<pre><code>def Seats():
global seats
seats = 168
print("\nThe current seating capacity is {}\n".format(seats))
</code></pre>
<p>无论何时何地在代码中调用函数<code>Seats</code>,都会重新定义<code>seats</code>的值,因为<code>seats = 168</code>会被执行</p>
<p>当问题被指出后,我试图编辑您的代码,使其保持相同的结构,以便向您展示如何解决问题,但我改变了主意。尽管代码很小,但它有一个不必要的复杂逻辑和一个非常不干净的语法。你是个初学者,所以没问题!正因为如此,我认为向您展示实现该算法的另一种方法会更有价值。下面是:</p>
<pre><code>import click
seats = 168
while seats > 0:
subtract_seat = click.confirm('\nWould you like to subtract 1 from seats?', default = True)
if subtract_seat:
seats -= 1
print("\nThe current seating capacity is {}\n".format(seats))
else:
break
print("\nOk, see you next time!\n")
</code></pre>
<ol>
<li>不需要导入<code>sys</code>库。你没有使用它</li>
<li><code>while seats > 0</code>避免在没有剩余座位时减去座位,同时也是用于与用户交互的主循环</li>
<li>如果不满足第一个条件,<code>else</code>子句将自动注意</li>
<li>代码中绝对不需要函数或全局变量。如果在更大的上下文中插入此代码,则可能需要它们,但请记住简单性</li>
</ol>
<p>#阿什多贝斯特女孩</p>