一 、运算符:
1. 算术运算符:
“ + ”、“ - ” 、“ * ” 、“ / ” 分别为加、减、乘、除。
% 是“取模运算符”,就是返回除法的余数。eg. a = 3, b=5, b % a 就是b/a的余数2。 常见用处:判断奇偶性及跟奇偶性有关的需求。
** 是“幂运算符”。eg. a**b为a的b次方。
// 是“取整除”, 就是返回商的整数部分。eg. 9//2输出结果为4。
2. 比较运算符:
== 是“等于”;
!= 是“不等于”;
<> 是“不等于” (Python2 语法,Python3不能用);
> 是“大于”;
< 是“小于”;
>= 是“大于等于”;
<= 是“小于等于”;
3. 赋值运算符:
= 是简单的赋值运算符;
+= 是加法赋值运算符。c += a 等效于 c = c+a;
-= 是减法赋值运算符。c -= a等效于 c = c - a;
*= 是乘法赋值运算符。c *= a 等效于 c = c * a;
/= 是除法赋值运算符。c /= a 等效于 c = c/a;
%= 是取模赋值运算符。c %= a 等效于 c = c % a;
**= 是幂赋值运算符。c **= a 等效于 c = c ** a;
//= 是取整除赋值运算符。c //= a等效于 c = c // a 。
4. 逻辑运算符:
and 布尔“与”; (用途:用户登录时需要 用户名正确 and 密码正确)
or 布尔“或”;
not 布尔“非”。
二、控制流程
1. 单分支:
定义:
if 条件:
满足条件后要执行的代码
2.双分支:
定义:
if 条件 :
满足条件执行代码
else :
if条件不满足就走这段
(1). if_else用户名、密码登录代码及运行:
这段代码用到的知识点:if...else语法、逻辑运算符“and”。
(2). if...else程序练习: 输入姓名、性别、年龄,判断如果是女生且年龄小于28岁,打印我喜欢女生,否则,打印姐弟恋也很好哦。如果是男生,打印一起来搞基。
源代码如下:
这段代码中用到的知识点:1. if...else中又嵌套了一个if...else语句,2. 因为 变量age要跟28这个数字做大小比较,字符串(str)和数字(int)不能比较大小,所以需要把input( ‘ Age:‘) 这个字符串用int()处理变成数字。
3. 多分支:
定义:
if条件 :
满足条件执行代码
elif条件 :
上面的条件不满足就走这个
elif条件 :
上面的条件不满足就走这个
elif条件 :
上面的条件不满足就走这个
else:
上面所有的条件不满足就走这段
匹配成绩小程序:
要求:成绩有ABCDE 5个等级,对应关系如下
A 90~100
B 80 ~ 89
C 60~79
D 40~60
E 0~40
根据输入的分数来查询成绩等级。
下图是别人写的的比较正确规范的代码:
下图是我当时自己写的代码:
对比我写的 “ elif 80 <=grade <90 : ” 和别人写的 “ elif grade >= 90 : ” ,发现我一个认识不足的地方,这个不足也反映了我对elif语句的理解不透彻。 我不应该再去强调 “ grade < 90 ”,因为elif 的定义就是 “如果上面的条件不成立,就走elif”,程序既然能走到 “ 80 <= grade < 90 ”这一步,输入的分数肯定不能满足“ grade >= 90 ”,要不然程序不会走到这一步。
四、while循环
语法:
while 条件:
执行代码...
基础程序: 写个程序从0打印到100,每循环一次+1。
程序练习1: 编写一个程序打印1到100的偶数。
下图是我当时写的错误代码:
执行结果:
我的错误之处:我写的while语句意思是“count小于等于100,且count对2取模为0”,下面的程序才会执行,count第一个数是1, 满足小于等于100这个条件,但却不满足对2取模为0这个条件,所以后面的代码就直接不执行了。
正确代码:
关于这段代码有一点需要注意,如下图
程序练习2: 循环打印1到100,第50次不打印值,第60-80次,打印对应值的平方。
我当时写的代码:
别人写的更简洁的代码:
我的代码和别人简洁代码产生出入的原因: 1. pass这个功能以前不会用,pass的作用就是什么都不执行; 2. 写作时的思路不同: 我的代码是先写“大众化的需求”,例如先写了count 位于1~60和 位于 80~100时的代码,后来在这两行代码中间加上了60~80这个“小众化的要求”, 最后在while语句的最前部分加上了“排除50”这个“最小化的要求”;但别人的写作思路是最先把50这个“最小众化的要求”写出来,然后再写60~80这个“小众化的需求”, 最后再写其他所有的、也是“最大众化的需求”。
还有一个猜年龄3次的程序,我第一次写的时候忘记把 guess_age = int( input(‘ your guess:‘) ) 这句代码写到while语句里面。因为需要输入3次。 如下图