21.元组:一个不可变的列表
定义完之后就不可变,只能读取其中数据,不能重新赋值。
用()定义
fruits = ("apple", "orange", "pear")
print(fruits)
输出:
(‘apple‘, ‘orange‘, ‘pear‘)
注意这里的括号是小括号,不是列表的中括号
当强行给元组进行赋值操作时,就会报错
fruits = ("apple", "orange", "pear")
fruits[1] = "banana"
print(fruits)
TypeError: ‘tuple‘ object does not support item assignment
22.元组使用注意事项:
当元组中仅存在一个数字时,在定义时为了产生歧义,需要定义成为以下形式
num = (1,)
因为小括号在Python中也是数学运算的括号,(1)会产生歧义,导致认为是一个括号中的数字1
23.“可变”元组
元组是可以存储列表的,当存储列表时,列表中的元素是可变的,
hobby = ["运动", "唱歌", "读书"]
person = ("张三", 17, "male", hobby, True)
hobby[1] = "打游戏"
print(person)
输出:
(‘张三‘, 17, ‘male‘, [‘运动‘, ‘打游戏‘, ‘读书‘], True)
hobby = ["运动", "唱歌", "读书"]
person = ("张三", 17, "male", hobby, True)
hobby.append("打游戏")
print(person)
输出:
(‘张三‘, 17, ‘male‘, [‘运动‘, ‘唱歌‘, ‘读书‘, ‘打游戏‘], True)
在本例中,元组并没有变化,而变化的是元组中的列表中的元素,指向的内存对象没变
如果改变指向内存的对象
hobby1 = ["运动", "唱歌", "读书"]
hobby2 = ["运动", "唱歌", "读书"]
person = ("张三", 17, "male", hobby, True)
person[3] = hobby2
print(person)
这样就会报错
TypeError: ‘tuple‘ object does not support item assignment
24.数据类型转换str --> int
在程序中,往往需要对相关的数据类型进行一定转化运用,比如字符串类型转化成为数字类型进行大小比较
a = "2"
print(a)
print(int(a))
输出:
2
2
虽然输出都是2,但是这两个代表的意义完全不同,第一个2是字符串,第二个2是整数,第二个2进行数字大小比较,第一个2不行
25.判断语句if
计算机能够自动化执行任务,很多情况下都是依靠判断和循环语句实现,判断语句能够让程序执行时进行选择,当出现什么情况时,执行什么语句
判断语句的格式:
if 判断条件:
执行语句
elif 判断条件:
执行语句
else 判断条件:
执行语句
其中elif可以重复多次
执行语句之前需要进行缩进(Tab或者使用4个空格)
判断之后需要使用冒号
判断语句是由上而下执行的,当满足一个条件之后,后面的执行语句都不再执行了
例子:在游戏中,经常会判断角色的血量,当大于某个值时,健康,当小于某个值时,负伤,当小于等于0时,角色死亡。
hp = 30
if hp > 50:
print("您处于健康状态")
elif hp > 0:
print("您处于负伤状态")
else:
print("您的角色已死亡")
输出:
您处于负伤状态
26.特殊的判断语句
if x:
执行语句
当x为非0值,非空值,非空list时就判断为True,执行语句
if "a":
print("这是一个非空值")
输出:
这是一个非空值
27.print()函数
print()函数默认是带换行的
print(data, end="")
end=""可以不写,默认值是end="\n"
也就是说,默认的end是换行操作,当如果不需要换行操作时,可以修改end值
print("爱我")
print("中华")
print("!")
print("爱我", end="")
print("中华", end="")
print("!", end="")
输出:
爱我
中华
!
爱我中华!
当输出一系列数字时,还可以通过end=""中间加符号进行分割
print("2", end="、")
print("4", end="、")
print("6", end="")
输出:
2、4、6
28.range()函数
range()函数可以生成一个有序的迭代对象
完整的语法是range(start,stop,step)
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
直接打印range函数,输出的是一个对象
print(range(10))
print(range(1,10))
print(range(1,10,2)
输出:
range(0, 10)
range(1, 10)
range(1, 10, 2)
可以通过迭代的形式输出其中的值
for i in range(10):
print(i, end="、")
输出:
2、4、6、0、1、2、3、4、5、6、7、8、9、
如果需要消除最后一个顿号,可以进行判断:
for i in range(10):
if i == len(range(10) - 1):
print(i)
else:
print(i, end="、")
输出:
0、1、2、3、4、5、6、7、8、9
29.循环语句--for()
循环输出列表中元素
fruits = ["apple", "orange", "banana"]
for i in fruits:
print(i)
输出:
apple
orange
banana
循环累加:
sum = 0
for i in range(101):
sum = sum + i
print(sum)
输出:
5050
30.循环语句--while()
满足条件不断循环,不满足条件就跳出循环
while 条件判断:
执行语句
while()循环计算1+2+...+100
i = 100
sum = 0
while i == 0:
sum = sum + i
i = i - 1
print(sum)
输出:
5050
循环输出列表中元素
fruits = ["apple", "orange", "banana"]
i = 0
while i < len(fruits):
print(fruits[i])
i = i + 1
输出:
apple
orange
banana
原文:https://www.cnblogs.com/tangnightmare/p/10277369.html