#看看是不是因为缩进的问题导致的,下面的代码经测试运行结果是正确的。
if m == 1:
if price >= 200:
price = price * 0.8
print ('打八折,实际金额为:', price)
elif 100 <= price <= 200:
price = price * 0.9
print ('打九折,实际金额为:', price)
else:
print ('实际金额为:', price)
else:
if price >= 200:
price = price * 0.95
print ('打9.5折,实际金额为:', price)
else:
print ('实际金额为:', price)
您好,你的问题,我之前好像也遇到过,以下是我原来的解决思路和方法,希望能帮助到你,若有错误,还望见谅!你说的这个现象可能是动态语言特有的
在静态语言里比如c,C#,你声明了int a = 10; 再 a = 20; 是不会重新创建一个地址的
而python没有单独的类型声明语句,所以你每次赋值都会新建
这也正式python之所以强大的一个方面比如下面的语句也是合法的
a = 10
a = 'xyz'
如果你要用同一个地址 那类型都不兼容了
但python允许 就给了程序员灵活性非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!