如何使用if语句实现变量减法,满足Python交互程序的循环执行需求?
问题根因
- 你每次用户确认减1后都会调用
Seats()函数,而这个函数内部强制把全局变量seats重置为168,所以无论怎么减都会回到初始值 - 你计算得到的
x = seats - 1没有赋值回给seats变量,减1操作没有真正作用到座位数变量上
调整后可运行代码
import sys import click # 座位数初始化逻辑移到全局,只会执行一次,不会反复重置 seats = 168 def show_seats(): # 该函数仅负责打印当前座位数,不修改变量值 print(f"\nThe current seating capacity is {seats}\n") def restart(): global seats while True: confirm = click.confirm('\nWould you like to subtract 1 from seats?', default=True) if confirm: # 直接修改全局座位数变量的值 seats -= 1 show_seats() else: print("\nOk, see you next time!\n") sys.exit() show_seats() restart()
内容的提问来源于stack exchange,提问作者Kuuda
相关产品推荐
相关产品推荐

