今天学习的是py里的各种结构;
1:顺序结构:包括赋值操作:a=10,从右到左执行,把10赋给a;
元组分解赋值和列表分解赋值是我感觉很新奇的一类结构,元组:a,b=10,20,10,20会分别赋给a,b,分组:[a,b]=[10,20];也是和上面一样的道理;
字符串分解赋值:a,b,c='hel',则a,b,c会分别被赋予‘h’,‘e’,‘l’;
2:if语句,基本用法if 表达式:语句的形式;
a = 10
if a == 10:
print('a为十')
3:if语句常见的错误,切记:冒号必不可少,而且必须缩进,缩进多少无所谓,但是必须缩进,如果不止一条语句的话,后面的所有语句都必须保持和第一条语句相同的缩进距离;
a = 10;
if a == 10:
print('a为十')
print('记得和上面缩进相同距离')
4:if-else语句,依然是正常的c与c++形式
a = 10;
if a == 10:
print('a为十')
else:
print('a不为十')
很神奇的是,py里的if-else语句可以写成一条代码,eg
a = 20
print('大于十' if a > 10 else '小于等于十')
5:if...elif...else语句,相当于if的多选择语句,基本用法与if else一样,这里不多赘述;
6:py里面也支持嵌套if语句;
7、8:条件判断ans和or,以闰年判断为例,能被四整除不能被一百整除,能被四百整除的是闰年
year = int(input('请输入年份'))
if (year % 4 == 0 and year % 100 != 0) or year % 400 ==0:
print('是闰年')
else:
print('不是闰年')
9:遍历循环语句:直接看样例把:
for i in range(1, 10):
print(i, end=' ')
这里,i可以提前定义也可以不用定义,因为py里,只要把数值赋给变量就会自定改变类型。
range是一个内置函数,题目中,他可以生成1-9,当然,我们也可以直接遍历一个字符串,也可以是一个字符串变量。
a = 'Hello Worlld'
for i in a:
print(i, end=' ')
把循环里的a直接改成我们要循环的字符串也可以;
10:遍历循环的拓展:与for同一层可以加入一个else,一般都与break或者continue结合使用,意为正常执行完for语句之后就执行else语句
11:无限循环while语句:while 条件: 语句
a=1
while a < 10:
print(a)
a += 1
这里我们的a需要提前定义,因为while循环里的a是直接使用的,并没有像for循环里是把数据先赋给了变量,然后使用变量,那里的变量是被定义的;
12:for循环和while循环的嵌套使用,很简单,不需要多说;
13:break和econtinue的使用
使用break可以提前跳出循环,如果这我们有else和for嵌套,那么就不执行else语句,如果没有break,说明for循环正常退出,执行else语句,这样使我们的逻辑更清晰
a=1
for a in range(1, 10):
if(a == 8):
print('有八')
break
else:
print('没有八')
这个程序里我们发现if语句是一定成立的,也就是说我们一定会执行break语句,执行的结果是我们不会输出else语句的东西
a=1
for a in range(1, 10):
if(a == 10):
print('有10')
break
else:
print('没有10')
这个程序我们是不会执行break语句的,因为range只赋值1-9,没有10,那么for正常结束,我们就会执行else语句里的东西
14:pass空语句
其他代码我不知道,但是c与c++中,我们可以使用一个大括号来限制我们while语句与for语句,但是在py里并没有括号限制子代码这一说法,那么我们的for循环和while循环想要不报错就得写上语句,如果这时候你不想,你可以使用一个pass语句,这样系统就不会报错;
15:生成随机函数代码:
import random
a = random.randint(1, 100)
print(a)
可以用来写猜数游戏;
今天学习到了很多关于py的结构内容,说实话,py里要比c与c++要简单,但是没有人家精细,可能这就是其他高级语言与c的区别吧