我正在为一个类赋值编写一些代码,在我的一生中,我无法获得一个变量来显示我存储在其中的文本:
if (salesavg < 5000):
rank = "SAD SALESMEN"
if (salesavg >= 5000 or salesavg <= 8000):
rank = "LOW SALESMAN"
if (salesavg >= 8001 or salesavg <= 9000):
rank = "MID SALESMAN"
if (salesavg >= 9001 or salesavg <= 10000):
rank = "EXCELLENT SALESMAN"
if (salesavg > 10000):
rank = "TOP SALESMAN"
以及它应该显示的位置:
print("RANKING: " ,rank)
不是很匆忙,但我很困惑为什么它不起作用,我在这个程序的其他部分使用了类似的方法,它们工作得很好
回答:谢谢!将其改为elif和from或to,并修复了我遇到的问题(也颠倒了顺序)。现在很好用
不确定你是否弄乱了格式,但我认为你弄乱了逻辑: 你们所有人如果循环是嵌套的
仅在salesavg<;时运行;5000个
这是不合逻辑的,所以要解决这个问题:
编辑优化
你需要用elif,而不仅仅是如果。代码检查salesavg<;如果这不是真的,它只会跳过所有其他if语句,因为只有在第一个if语句触发时,它们才能触发。那么变量rank没有被声明,因为if语句从未被触发
下面是我要做的:
还要注意,我更改了顺序,以便它首先查找最高的。这是因为,如果不是这样的话,顶级销售人员只会首先触发其他任何更小的级别。希望这有帮助
在Python中,缩进用于确定语句的结构
在你的代码里,在里面
嵌套条件
不会是真的。其他人也一样
应该是这样的:
顺便说一句,代码中的所有
or
都应该是and
,正如我在示例中修复的那样相关问题 更多 >
编程相关推荐