标签:
python基础之编译器选择,循环结构,列表
IDE的全称叫做集成开发环境(IDE,Integrated Development Environment )
常用的编程语言IDE开发工具有如下一些:
pycharm具有代码补全,自动保存,语法检查,多种语言支持(html,js,css等)等特性,使用pycharm能够节省大量编码时间,从而提高生产效率。 pycharm的一些设置这里就不做赘述了,网上百度一大把。。。本人也懒得贴那些图片了。。。
python中字符串格式化输出主要使用的有如下几个占位符:
举个栗子:
1 print("this is %s num %d. the 5/3=%f." %("my",5,5/3)) 2 this is my num 5. the 5/3=1.666667.
至于更多的字符串格式化输出内容等我有空再继续补充,时间比较仓促。
python中的数据类型主要分为如下几种:
数字:
整型 python中的整形能表示的数字从2^31-1到-2^31之间,占用4个字节
长整型 超出整形表示之外的整数将被使用长整型来存储
整型和长整型在python2中有区分,在python3中已经不区分整型和长整型,统一叫做整型了。
布尔类型:
True 真
False 假
字符串:
用单引号或者双引号包裹起来的内容就是字符串
列表:
存储一组数据,使用[]来表示
字典:
存储一组key:value键值对的数据,使用{}表示
集合:
存储的也是一组数据,但是和列表不同的是,集合中数据没有相同的两个数据,使用set()来定义集合
元祖: 存储的也是一组数据,只是存储在元祖(tuple)中的数据是不能被改变的,声明该类型的数据使用(,)来实现
其实在上一篇里面已经讲了python中的循环结构,这里照搬过来了:
for循环语句,结构如下所示:
for 变量 in 可遍历对象:
循环体内语句
else:
循环体后语句
其中需要注意的是for循环后面还跟了else语句,这个方式我只在python中见到过,目前我知道的一种用法就是当for循环正常执行结束后就会执行else中的语句,但是,当在循环体中使用break或者循环体异常结束时,else中的语句将不会被执行。
while循环语句,结构如下所示:
while 条件表达式:
循环体内语句
else:
循环体后语句
while循环中也存在else语句,和for循环中的else语句作用一样,当while之后的条件表达式为真时,才会进入循环体内部执行,注意while循环语句可以一次都不被执行。
下面举几个例子来看看循环体结构的使用:
1 _user="abc123" 2 _passwd="abc123" 3 for i in range(3): 4 username=input("username:").strip() 5 password=input("password:").strip() 6 if username==_user and password==_passwd: 7 print("welcome %s" %username) 8 break 9 else: 10 print("invalid username or password!") 11 else: 12 print("拜拜!")
上面例子主要是为了展示for else结构的使用,当然,这种方式也可以通过使用flag的方式来实现:
1 _user="abc123" 2 _passwd="abc123" 3 passed_authentication=False 4 for i in range(3): 5 username=input("username:").strip() 6 password=input("password:").strip() 7 if username==_user and password==_passwd: 8 print("welcome %s" %username) 9 passed_authentication=True 10 break 11 else: 12 print("invalid username or password!") 13 if not passed_authentication: 14 print("拜拜!")
下面是展示while else循环结构的代码:
1 _user="abc123" 2 _passwd="abc123" 3 count=0 4 while count<3: 5 username=input("username:").strip() 6 password=input("password:").strip() 7 if username==_user and password==_passwd: 8 print("welcome %s" %username) 9 break 10 else: 11 print("invalid username or password!") 12 count+=1 13 if count == 3: 14 flag=input("还想玩吗?[y/n]") 15 if flag=="y": 16 count=0 17 else: 18 print("拜拜!")
在循环嵌套中,怎样实现跳出多层嵌套循环呢?可以使用flag标记位来实现:
1 exit_flag = False 2 for i in range(10): 3 if i<5: 4 continue 5 print(i) 6 for j in range(10): 7 print("lever2:",j) 8 if j == 6: 9 exit_flag = True 10 break 11 if exit_flag: 12 break
好了,关于循环结构语句的补充就到这里了。
列表是python里面很重要的一种数据类型,学好列表的使用,将有助于写出高质量的代码。
所有序列都可以进行某些特定操作,包括:索引(indexing)、分片(slicing)、加(adding)、乘(multiplying)以及检查某元素是否属于列表成员。
序列的索引:通过元素在列表中的位置可以定位到该元素,这就是列表的索引,使用类似于list[0]对元素进行索引,索引0指向第一个元素。也可使用负数对元素进行索引,使用负数对元素索引时,列表中的最后一个元素由-1表示,例如list[-1]就是该列表的最后一个元素。
序列的分片:序列的分片操作需要提供两个索引作为边界,第一个索引的元素包含在分片内部,第二个索引的元素不包含在分片内部。例如需要取出列表中第三位到第五位的元素可以使用list[2:5],若分片所得部分包含列表的尾部可以将第二个索引置为空。例如list[3:],同样,对于列表首部的元素也可以这样,例如list[:-5]。 对于分片,还有一个步长的参数,该参数可以是隐式设置,隐式设置中,步长是1。分片操作按照该步长遍历序列中元素。例如list[0:5:2]就是以步长为二遍历出列表中从开头到第五位元素。当然,步长也可以为负数,为负数时表示从右到左进行遍历。
列表的加:列表可以进行相加,变成一个更大的列表list=list1+list2,但是限制是相同类型的列表才可以进行相加。虽然字符串也是列表,但是列表和字符串是无法直接相加的。
列表的乘:用一个数字乘以一个列表将会生成一个新的列表,该新列表内容江油老序列重复N次。列表内容为空可以使用None表示,list=[None]*10表示生成一个占用十个空位置的列表。
列表的成员资格:可使用in运算符检查某元素是否是该列表的成员。其返回值是一个布尔类型的值,如果是该列表成员,则返回True,否则返回Flse。例如‘a‘ in list操作。
列表的几个内置函数:len、max和min是列表中的内置函数。len函数返回列表包含元素的数量。max和min函数分别返回列表中最大和最小的元素,列入len(list)、max(list)、min(list)
列表可以通过分片来实现增删改查功能:
1 a=["wuchao","jinxin","xiaohu","sanpang","ligang"] 2 print(a[::1])#从开始到结尾切片输出 3 print(a[:-1:])#从开始到倒数第二个切片输出 4 print(a[::2])#从开始到结尾步长为2输出 5 print(a[::-1])#列表反转输出 6 print(a[-1:0:-1])#从倒数第一个到顺数第二个反转输出 7 print(a[1:1]=["xxx"])#在索引为1的位置插入数据 8 print(a[1:2]=[])#把列表中的索引为1的位置的值删除 9 print(a[1:2]=["xxx"])#把列表中索引为1的位置的值改成xxx
列表的方法:
需求如下:
1 购物车程序 2 salary = 5000 3 1. iphone6s 5800 4 2. mac book 9000 5 3. coffee 32 6 4. python book 80 7 5. bicyle 1500 8 >>>:1 9 余额不足,-3000 10 >>>:5 11 已加入bicyle 到你的购物车, 当前余额:3500 12 >>>:quit 13 您已购买一下商品 14 bicyle 1500 15 coffee 30 16 您的余额为:2970 17 欢迎下次光临
代码实现:
1 #!/usr/bin/env python 2 # encoding:utf-8 3 # __author__: huxianglin 4 # date: 2016-08-22 5 # blog: http://huxianglin.cnblogs.com/ http://xianglinhu.blog.51cto.com/ 6 7 def main(): 8 Commodity_list=[["iphone6s",5800],["mac book",9000],["coffee",32],["python book",80],["bicycle",1500]] 9 shopping_list=[] 10 welcome_msg=""" 11 ******************************** 12 *** 欢迎来到本商店购物 *** 13 ********************************""" 14 print(welcome_msg) 15 salary=None 16 while True: 17 salary=input("请输入你的工资:") 18 if salary.isdigit(): 19 salary=int(salary) 20 break 21 else: 22 print("工资只能为数字。。。") 23 continue 24 for i in range(0,len(Commodity_list)): 25 print("\t%s. %s\t\t%s"%(i+1,Commodity_list[i][1],Commodity_list[i][0])) 26 while True: 27 customer_choose=input("请输入要购买的商品编号,退出请输入quit: ").strip() 28 if customer_choose=="quit": 29 print("您的购物清单为:") 30 for i in range(0,len(shopping_list)): 31 print("\t%s. %s\t\t%s"%(i+1,shopping_list[i][1],shopping_list[i][0])) 32 print("您的余额为:%s"%salary) 33 exit() 34 elif customer_choose.isdigit(): 35 if int(customer_choose) > len(Commodity_list): 36 print("您输入的商品编号不在本系统中,请重新输入。。。") 37 continue 38 if salary >= Commodity_list[int(customer_choose)-1][1]: 39 shopping_list.append(Commodity_list[int(customer_choose)-1]) 40 salary -= Commodity_list[int(customer_choose)-1][1] 41 print("%s已加入您的购物车,当前余额:%s"%(Commodity_list[int(customer_choose)-1][0],salary)) 42 else: 43 print("余额不足,%s"%(salary-Commodity_list[int(customer_choose)-1][1])) 44 continue 45 else: 46 print("您输入有误,请重新输入。。。") 47 48 if __name__=="__main__": 49 main()
标签:
原文地址:http://www.cnblogs.com/huxianglin/p/5797748.html