python学习
-
- 1.python学习-字符串
-
- 字符串类型str(string)
- 整数类型int
- 浮点数float
- 数据拼接“+”
- 数据类型转换方法
- type()函数
- 总结
- 2.python学习-条件判断if
-
- 单向判断if
- 双向判断if…else
- 多向判断if…elif…else…
- 嵌套
- 总结
- 3.python学习-input函数
-
- input()函数的数据类型赋值
- input()函数的数据类型
- input()函数结果的强制转换
- 总结
- 4.列表|字典
-
- 列表
- 字典
- 总结
- 5.循环语句 for in/ while
-
- 循环语句 for in
- 使用range(a,b) 函数
- while循环
- 总结
- 布尔值
- break语句
- continue语句
- pass语句
- 总结
-
- 7.项目实操
1.python学习-字符串
字符串类型str(string)
字符串类型str(string):字符串英文string,简写str。作为最常用的数据类型,字符串的识别方式非常简单——有层名为【引号】的皮,【单/双/三引号】这层皮括起来的内容,不论那个内容是中文、英文、数字甚至火星文。只要是被括起来的,就表示是字符串类型。
例子:
name=‘千寻’
print("Let's play")print('''我愿意留在汤婆婆的澡堂里工作两年,第一年在锅炉房和锅炉爷爷一起烧锅炉水,第二年在澡堂给客人搓背,如果我违背工作内容的话,将在这个世界变成一头猪。
''')
整数类型int
整数类型int(integer):整数英文为integer,简写做int。代码世界的整数,和我们数学课本中定义的一样:是正整数、负整数和零的统称,是没有小数点的数字。
浮点数float
浮点数float:整数是不带小数点的数字,那么相对的,带小数点的数字,就是浮点数。非常好识别,比如下列代码中的数字都是浮点数
数据拼接“+”
数据拼接
slogan = ‘我一个电话立马有’
character = ‘山兔’
unit = ‘只’
place = ‘在你家楼下’
action = ‘hola hola’
number = 10000
7
print(slogan+str(number)+unit+character+place+action)
print(slogan+‘10000’+unit+character+place+action)
用“+”号进行拼接
当我们使用引号时,引号里的东西,都会被强制转换为字符串格式。
所以,如果我们把变量名number放进引号里后,被强制转换为字符串的,将是变量名number,而不是变量名代表的数字10000
数据类型转换方法
type()函数
总结
参考答案:
print(str(number1)+unit1+line1+sentence1)
print(str(number2)+unit2+line2+sentence2)
作业2
参考答案:print(slogan+str(int(float(number)))+unit+sentence)
2.python学习-条件判断if
单向判断if
双向判断if…else
多向判断if…elif…else…
多向判断:if…elif…else…
例子:
当宝石数量少于3颗的时候(即0、1、2、3),可以输出"需要惊奇队长逆转未来",以下为答案示例(stonenumber=0/1/2/3都是对的)
stonenumber=1
#为宝石数量赋值
if stonenumber>=6:
#条件:如果你拥有的宝石数量大于等于6个
print(‘你拥有了毁灭宇宙的力量’)
#结果:显示‘就拥有了毁灭宇宙的力量’的结果
elif 3<stonenumber<=5:
#条件:如果想让宝石数量停留在4至5个
print(‘红女巫需要亲手毁掉幻视额头上的心灵宝石’)
#结果:显示‘红女巫需要亲手毁掉幻视额头上的心灵宝石’的结果
else:
#条件:当赋值不满足if和elif条件时,执行else下的命令,宝石数量在3个以下
print(‘需要惊奇队长逆转未来’)
#结果:显示‘需要惊奇队长逆转未来’的结果
嵌套
总结
总结
作业1
参考答案
stonenumber=2
if stonenumber>=4:
print(‘获得了打败灭霸的力量,反杀稳了’)
elif 1<stonenumber<=3:
print(‘可以全员出动,殊死一搏’)
else:
print(‘没办法了,只能尝试呼叫惊奇队长’)
作业2
参考答案
gongzi=600
if gongzi<=500:
print(‘欢迎进入史塔克穷人帮前三名’)
if 100<= gongzi<500:
print(‘请找弗瑞队长加薪’)
else:
print(‘恭喜您荣获“美元队长”称号!’)
elif 500<gongzi <=1000:
print(‘祝贺您至少可以温饱了。’)
else:
print(‘经济危机都难不倒您!’)
if 1000<gongzi<2000:
print(‘您快比钢铁侠有钱了!’)
else:
print(‘您是不是来自于瓦坎达国?’)
print(‘程序结束’)
3.python学习-input函数
input()函数的数据类型赋值
我们用赋值运算符=把input()函数的字符串结果,赋给了变量choice,所以这个变量也一定是字符串类型。
input()函数的数据类型
input()函数结果的强制转换
总结
作业1
参考答案
name=input(‘为哈利·波特的猫头鹰起个名字’)
print(‘哈利·波特的猫头鹰叫做’+name)、
作业2
参考答案
name = int(input(‘搜集罗恩吃的巧克力数量:’))
if name >= 10:
print(‘罗恩要给哈利100块’)
else:
print(‘哈利就给罗恩100块’)
作业3
参考答案
print(‘小精灵:您好,欢迎古灵阁,请问您需要帮助吗?需要or不需要’)
name=input(’’)
if name == ‘需要’:
print(‘小精灵:请问您需要什么帮助呢?1 存取款;2 货币兑换;3 咨询’)
name1=int(input(’’))
if name1 == 1:
print(‘小精灵会推荐你去存取款窗口;’)
elif name1 == 2:
print(‘小精灵:金加隆和人民币的兑换率为1:51.3,即一金加隆=51.3人民币’)
print(‘小精灵:请问您需要兑换多少金加隆呢?’)
name2=int(input(’’))
print(‘好的,我知道了,您需要兑换’+str(int(name2*3))+‘人民币’)
else:
print(‘小精灵会推荐你去咨询窗口;’)
else:
print(“小精灵会礼貌地说’好的,再见;’”)
4.列表|字典
列表
个列表需要用中括号[ ]把里面的各种数据框起来,里面的每一个数据叫作“元素”。每个元素之间都要用英文逗号隔开。
从列表提取单个元素:
students = [‘小明’,‘小红’,‘小刚’]
print(students[0])
从列表提取多个元素:
冒号左边空,就要从偏移量为0的元素开始取;右边空,就要取到列表的最后一个元素。后半句:冒号左边数字对应的元素要拿,右边的不动
口诀:左右空,取到头;左要取,右不取
给列表增加/删除元素
新增:append()
append函数并不生成一个新列表,而是让列表末尾新增一个元素。而且,列表长度可变,理论容量无限,所以支持任意的嵌套。
删除del()
students = [‘小明’,‘小红’,‘小刚’,‘小美’]
del students[1]
print(students)
字典
字典和列表有3个地方是一样的:1.有名称;2.要用=赋值;3.用逗号作为元素间的分隔符
而不一样的有两处:1.列表外层用的是中括号[ ],字典的外层是大括号{ };
2.列表中的元素是自成一体的,而字典的元素是由一个个键值对构成的,用英文冒号连接。如’小明’:95,其中我们把’小明’叫键(key),95叫值(value)。
这样唯一的键和对应的值形成的组合,我们就叫做【键值对】,上述字典就有3个【键值对】:‘小明’:95、‘小红’:90、‘小刚’:90
如果不想口算,我们可以用len()函数来得出一个列表或者字典的长度(元素个数),括号里放列表或字典名称。
students = [‘小明’,‘小红’,‘小刚’]
scores = {‘小明’:95,‘小红’:90,‘小刚’:90}
print(len(students))
print(len(scores))
这里需要强调的是,字典中的键具备唯一性,而值可重复。也就是说字典里不能同时包含两个’小明’的键,但却可以有两个同为90的值。
字典取值
scores = {‘小明’:95,‘小红’:90,‘小刚’:90}
print(scores[‘小红’])
给字典增加/删除元素
album = {‘周杰伦’:‘七里香’,‘王力宏’:‘心中的日月’}
del album[‘周杰伦’]
print(album)
album[‘周杰伦’] = ‘十一月的萧邦’
print(album)
print(album[‘周杰伦’])
终端(输入完毕后请按回车键)
**而字典相比起来就显得随和很多,调动顺序也不影响。因为列表中的数据是有序排列的,而字典中的数据是随机排列的。
这也是为什么两者数据读取方法会不同的原因:列表有序,要用偏移量定位;字典无序,便通过唯一的键来取值。**
students = [[‘小明’,‘小红’,‘小刚’,‘小美’],[‘小强’,‘小兰’,‘小伟’,‘小芳’]]
print(students[1][3])
总结
参考答案
list1 = [{‘嫉妒’:‘envy’},{‘恨’:‘hatred’},{‘爱’:‘love’}]
print(list1[2][‘爱’])
第一步:取出列表中的第三个元素(list1[2]),字典{‘爱’:‘love’};
第二步:取出list1[2]中键’爱’所对应的值,即’love’(list1[2][‘爱’])。
dict1 = {1:[‘cake’,‘scone’,‘puff’],2:[‘London’,‘Bristol’,‘Bath’],3:[‘love’,‘hatred’,‘envy’]}
print(dict1[3][0])
第一步:取出字典中键为3对应的值(dict1[3]),即[‘love’,‘hatred’,‘envy’]。
第二步:再取出列表[‘love’,‘hatred’,‘envy’]中的第一个元素(dict1[3][0])。
tuple1 = (‘A’,‘B’)
list2 = [(‘A’,‘B’),(‘C’,‘D’),(‘E’,‘F’)]
print(tuple1[0])
print(list2[1][1])
#从代码里,也可看出:1.元组内数据的提取也是用偏移量;2.元组也支持互相嵌套。
{'海底王国':['小美人鱼''海之王''小美人鱼的祖母''五位姐姐'],'上层世界':['王子','邻国公主']},'丑小鸭','坚定的锡兵','睡美人','青蛙王子',[{'主角':'小红帽','配角1':'外婆','配角2':'猎人'},{'反面角色':'狼'}]]
参考答案
print(townee[5][1][‘反面角色’])
5.循环语句 for in/ while
循环语句 for in
而整数、浮点数是不属于“一群排队办业务的人”的,如果把它们放在for循环里,代码会报错。
使用range(a,b) 函数
使用range(a,b) 函数,你可以生成了一个【取头不取尾】的整数序列。
range(12) 取值为0-11
这里range(0,10,3)的意思是:从0数到9(取头不取尾),数数的间隔为3
while循环
总结
for循环和whlie循环最大的区别在于【循环的工作量是否确定】,for循环就像空房间依次办理业务,直到把【所有工作做完】才下班。但while循环就像哨卡放行,【满足条件就一直工作】,直到不满足条件就关闭哨卡
当我们【工作量确定】的时候,我们就可以让for循环来完成重复性工作。反之,要【工作量不确定时】可以让while循环来工作:
作业1
参考答案
students = [‘小明’,‘小红’,‘小刚’]
for i in range(3):
student1 = students.pop(0) # 运用pop()函数,同时完成提取和删除。students.append(student1) # 将移除的student1安排到最后一个座位。print(students)
布尔值
break语句
continue语句
pass语句
pass语句就非常简单了,它的英文意思是“跳过”。
总结
while True:
a = input('A,你认罪吗?请回答认罪或者不认')b = input('B,你认罪吗?请回答认罪或者不认')if a == '认罪' and b == '认罪':print('两人都得判10年,唉')elif a == '不认' and b == '认罪':print('A判20年,B判1年,唉')elif a == '认罪' and b == '不认':print('A判1年,B判20年')else:print('都判3年,太棒了')break # 当满足开头提到的条件时,跳出循环。
作业2
作业2
i = 0
list = []
while True:
i = i+1
a = input(‘A,你认罪吗?请回答认罪或者不认’)
b = input(‘B,你认罪吗?请回答认罪或者不认’)
list.append([a, b])
if a == ‘认罪’ and b == ‘认罪’:
print(‘两人都得判10年,唉’)
elif a == ‘不认’ and b == ‘认罪’:
print(‘A判20年,B判1年,唉’)
elif a == ‘认罪’ and b == ‘不认’:
print(‘A判1年,B判20年’)
else:
print(‘都判3年,太棒了’)
break # 当满足开头提到的条件时,跳出循环。
print(‘第’ + str(i) + ‘对实验者选了最优解。’)
for o in range(i):
print(‘第’ + str(i) + ‘对实验者选了最优解。’)
print(‘第’ + str(o+1) + ‘对实验者的选择是:’ + str(list))
print(str(o))
注意:o 从0 开始计数 i从1开始
作业3
movies = {‘妖猫传’:[‘黄轩’,‘染谷将太’],‘无问东西’:[‘章子怡’,‘王力宏’]}
actor = input(‘你想查哪个演员’)
for movie in movies:
actors = movies[movie]
if actor in actors:
print(actor + ‘出演了电影’ + movie)