马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 ttyhtg 于 2017-8-31 16:04 编辑
需要注意的地方:
1、算术操作符:
+-*/,
a=5,
a=a+3
其中a=a+3可以简写为a+=3,
%**//
//表示float除法,即结果只保留整数部分(非四舍五入),例如10//4,结果为2。
%表示取余数,例如:9%4.结果为2,10%3,结果为1,
**表示幂运算,例如,3**2即3的二次幂3×3,结果为9,2**5即2的5次幂,2*2*2*2*2,结果为32.
2、比较操作符:<,>,<=,>=,==
3、运算顺序,先乘除后加减,幂运算优先级比左侧一元操作符优先级低,比右侧一元操作符优先级高。为了美观和维护方便,有些不加括号不影响结果的地方也最好加上括号,
4、逻辑操作符:and 并存,or或者, not取相反的值,
关于习题:
为什么代码要加上n+=1?
如果我们不输入这一行代码,那么 num 永远都会等于 1,
永远等于1的话,那么就会不断的输出 ,那么唯一能做的就只有强制性关闭.
如果加上 num += 1 那么每次执行完一次代码,num都会加1
问题一:短路逻辑:3 and 4 == 4,而 3 or 4 == 3,是不是意思是and取后面的值,or取前面的值?
问题二:爱因斯坦习题里面那个x、i、flg分别表示什么?为什么将i<=100作为循环条件呢?x = 7
i = 1
flag = 0
while i <= 100:
if (x%2 == 1) and (x%3 == 2) and (x%5 == 4) and (x%6==5):
flag = 1
else:
x = 7 * (i+1) # 根据题意,x一定是7的整数倍,所以每次乘以7
i += 1
if flag == 1:
print('阶梯数是:', x)
else:
print('在程序限定的范围内找不到答案!')
问题1:3 and 4 == 4,而 3 or 4 == 3中 and和or要分开看3非零为True,4==4也是,或逻辑左边已经为真了,所以2个表达式都是True
问题2:flag用于显示有无答案,因为在if语句有判断,x=7是因为该数是7的倍数,因此在循环里每次x增加7,
至于i=100是小甲鱼自己定的,,没啥特别意义,为了不想循环太多次吧,在题干里没有给出,
|