#imput交互使用 a=input('请输入一个加数') a=float(a) b=input('请输入另一个加数') b=float(b) print(a+b) i=3+4 print(i) a=b=c=20 print(a,id(a)) print(b,id(b)) print(c,id(c)) print('--------支持参数赋值-----------') #赋值运算符 a=20 a+=30 print(a) a*=2 print(a) a/=3 print(a) a//=3 print(a) a%=3 print(a) print('--------解包赋值-------') a,b=10,20 print("交换之前",a,b) #交换 a,b=b,a print("交换之后",a,b) #相当于C语言的 #int a=10,b=20,c; #c=a,a=b,b=c; a,b=10,20 print('a>b嘛?',a>b)''' #赋值符的应用 '''一个=称为赋值运算符,,==称为比较运算符 一个变量由三部分组成,标识,类型,值 ==比较的是值,is 比较对象的表示使用 a=10 b=10 print(id(a)) print(id(b)) print(a==b) print(a is b) #以下没学过,后面会给大家讲解 last1=[11,22,33,44] last2=[11,22,33,44] print(last1==last2) print(last1==last2) print(id(last1)) print(id(last2)) print(a is not b) #id号相同 print(last1 is not last2) #id号不同 #布尔运算符 a,b=1,2 print('--------and 并且----------') print(a==1 and b==2) print(a==1 and b<2) print(a!=1 and b==2) print(a!=1 and b!=2) print('------- or 或者----------') print(a==1 or b==2) print(a==1 or b<2) print(a!=1 or b==2) print(a!=1 or b!=2) print('------- not 取反----------') f=True f2=False print(not f) print(not f2) print('-------in 与 not in-------') s='helloworld' print('w' in s) print('k' in s) print('w' not in s) print('k' not in s) print(4&8) #按位与&,同为1时结果为1 (将数字转换为二进制计算) print(4|8) #按位或1,同为0时结果为0 print(4<<1) #向右移动1位,相当于除以2 print(4<<2) #向左移动2位 print(4>>1) #向右移动1位,相当于除以2 print(4>>2) #向右移动2位,相当于除以4 ''' #选择结构(if) ''' money=1000 s=int(input('请输入取款金额')) if money>=s: money=money-s print('取款成功,余为:',money) num=int(input('请输入一个整数')) if num%2==0: print(num,'是偶数') else: print(num,'是奇数') #多分支结构 score=int(input('请输入一个成绩')) if score>=90 and score<=100: print('A级') elif score>=80 and score<=89: print('B级') elif score>=70 and score<=79: print('C级') elif score>=60 and score<=69: print('D级') elif score>=0 and score<=59: print('E级') else: print('对不起,成绩有误,不在成绩的有效范围内') ''' #嵌套结构 '''题: 会员>=200 8折 >=100 9折 非会员 >=200 9.5折 answer=input('您是会员吗?yes/no') money=float(input('请输入您的购物金额')) if answer=='yes': if money>=200: print('打八折,付款金额为:',money*0.8) elif 100<=money<200: print('打九折,付款金额为:',money*0.9) else: print('不打折') else: if money>=200: print('打九点五折,付款金额为:',money*0.95) elif money<200: print('不打折,付款金额为:',money)''' #pass语句 ''',什么都不需要做,只是一个占位符,用到需要写语句的地方 answer=input('您是会员吗?') if answer=='y': pass else: pass''' #条件表达式 '''num1=int(input('请输入第一个整数')) num2=int(input('请输入第二个整数')) if num1>=num2: print(num1,'大于等于',num2) else: print(num1,'小于',num2) print(str(num1)+'大于等于'+str(num2) if num1>=num2 else str(num1)+'小于'str(num2))''' #range函数的使用 '''r=range(10) print(r) #range(0, 10) print(list(r)) #用于查看range对象的整数序列,list是列表的意思 #第二种创建的方式,给了两个参数(小括号中给了两个数) r=range(1,10) #第三种创建方式,给了三个参数 r=range(1,10,2) print(list(r)) #判断指定的整数 在序列中而是否存在in,not in print(10 in r) print(9 in r) print(10 not in r) print(0 not in r) print(list(range(1,20,1))) print(list(range(1,101,1)))
#while '''a=1 #判断条件表达式 while a<10: print(a) a+=1 计算0~4之间的累加和 4步循环法 1.初始化变量 2.条件判断 3.条件执行体 4.改变变量 a=0 sum=0 while a<5: sum+=a a+=1 print('和为',sum) #1~100之间的偶数和 sum=0 i=1 while i<=100: if i%2==0: #if not bool(i%2) sum+=i i+=1 print('1~100之间的偶数和=',sum) ''' #for in ''' for item in 'python': print(item) for i in range(10): print(i) #如果不需要自定义变量,可以将自变量写为“_” for _ in range(5): print('认识苦短,....') #计算1~100之间的偶数和 sum=0 i=0 for item in range(1,101): if item %2==0: sum+=item print('sum=',sum) #输出1~100的水仙花数 #举例 153=3*3*3+5*5*5+1*1*1 for item in range(100,1000): ge=item%10 shi=item//10%10 bai=item//100 if ge**3+shi**3+bai**3 == item : print(item) #break #从键盘录入密码,最多录入三次,如果正确就结束循环 mima=input('请设置您的密码') for _ in range(3): pwd=input('请输入密码:') if pwd==mima: print('密码正确') break else: print('密码不正确') a=0 while a<3: pwd=input('请输入密码:') if pwd==mima: print('密码正确') break else: print('密码不正确') ''' #continue ''' #要求输出1~50之间所有5的倍数,10,15,20,25..: for item in range(1,51): if item%5==0: print(item) for item in range(1,51): if item%5!=0: continue print(item) ''' #else的用法 ''' for item in range(3): pwd=input('请输入密码') if pwd=='8888': print('密码正确') break else: print('密码不正确') else: print('对不起,三次密码都错误') a=0 while a<3: pwd=input('请输入密码') if pwd=='8888': print('密码正确') break else: print('密码不正确') a+=1 else: print('对不起,三次密码都错误') ''' #嵌套循环 ''' #输出一个三行四列的矩形 for i in range(1,4): for j in range(1,5): print('*') print() for i in range(1,10 ): for j in range(1,i+1): print(i,'*',j,'=',i*j,end='\t') print() #二重循环中的break和continue for i in range(5): for j in range(1,11): if j%2==0: continue#break print(j,end='\t') print()
#列表,第一种方式,使用中括号 ''' a=10 lst=['hello','world',98] print(id(lst)) print(type(lst)) print(lst) ''' #创建列表的第二种方式,使用内置函数lis() '''lst=['hello','world',98,'hello'] print(lst) print(lst[0]) print(lst[0],lst[-4]) lst2=list(['hello','world',98]) print(lst2) print(1,2) lst=['hello','world',98,'hello'] print((lst.index('hello'))) #index()函数,用来索引,在列表里面元素的位置 #print(lst.index('Python')) #print(lst.index('hello',1,3)) print(lst.index('hello',1,4))''' #获取列表中的指定的元素 ''' # (单个元素) lst=['hello','world',98,'hello','world',234] #获取索引为2的元素 print(lst[2]) #获取索引为-3的元素 print(lst[-3]) #获取索引为10的元素 #print(lst[10]) #IndexError: list index out of range lst=[10,20,30,40,50,60,70,80] #左闭右开 #start=1,stop=6,step=1 #print(lst[1:6:1]) print('原列表',id(lst)) lst2=lst[1:6:1] print('切的片段:',id(lst2)) print(lst[1:6])#默认步长1 print(lst[1:6:]) print(lst[1:6:2]) print(lst[:6:2]) print(lst[1::2]) print('--------------step步长为负数的情况----------------') print('原列表',lst) print(lst[::-1]) print(lst[7::-1]) print(lst[6:0:-2])''' #列表元素的判断及遍历 '''lst=[10,20,'python','helo'] print(10 in lst) print(100 in lst) print(10 not in lst) print(100 not in lst) print('----------遍历-----------') for item in lst: print(item)''' #列表元素的添加操作 '''lst=[10,20,30] print('添加元素之前',lst,id(lst)) lst.append(100) print('添加元素之后',lst,id(lst)) #末尾一次性添加多个元素 lst2=['hello','world'] #lst2.extend(lst2) 将lst2作为一个元素添加到列表的末尾 #末尾一次性添加多个元素 lst.extend(lst2) print(lst) #在任意位置上添加一个元素 lst.insert(1,90) print(lst) lst3=[True,False,'hello'] #在任意位置上添加N个元素(切片) lst[1:]=lst3 print((lst))''' #元素列表的删除操作 '''lst=[10,20,30,40,50,60,30] lst.remove(30)#从列表里面移除一个元素,如果有重复元素只移除出第一个元素 print(lst) #pop()根据索引移除元素 lst.pop(1) print(lst) lst.pop()#如果不指定索引,即将删除列表中的最后一个元素 print(lst) print('----------切片操作-删除至少一个元素,将产生一个新的列表对象------------') new_list=lst[1:3] print('原列表',lst) print('切片后的列表',new_list) #不产生新的列表对象,而是删除原列表中的内容 lst[1:3]=[] print(lst) #清空列表所有的元素 lst.clear() print(lst) #del语句将列表对象删除 del lst #print(lst) NameError: name 'lst' is not defined''' #列表元素的修改操作 '''lst=[10,20,30,40] #一次修改一个值 lst[2]=100 print(lst) lst=[300,400,500,600]''' #列表的排序操作 '''lst=[20,40,10,98,54] print('排序之前的列表',lst,id(lst)) #开始排序 lst.sort() print('排序后的列表',lst,id(lst)) #通过指定关键字参数,将列表的原住宿进行降序排序 lst.sort(reverse=True)#reverse=True 标表示降序排序,reverse=False是升序排序 print(lst) print('-------使用内置函数sorted()对列表进行排序,将产生一个新的列表的对象----------') lst=[20,40,10,98,54] print('原列表',lst) #开始排序 new_list=sorted(lst) print(lst) print(new_list) list2=sorted(lst,reverse=True) print(list2)''' #列表生成式 lst=[i*i for i in range(1,10)] print(lst) lst1=[i*2 for i in range(1,6)] print(lst1)
'''不可变序列,可变序列''' '''可变序列 列表,字典 lst=[10,20,45] print(id(lst)) lst.append(300) print(id(lst)) print()''' '''不可变序列。字符串,元组 s='hello' print(id(s)) s=s+'world' print(id(s)) print(s) print() #元组的创建方式 # 第一种,使用() t=('Python','world',98) print(t) print(type(t)) t2='Python','world',98 print(t2) print(type(t2)) t3=(10,)#如果元组只有一个元素的时候,逗号不能省 print(t3) print(type(t3))# # 第二种 t1=tuple(('python','world',98)) print(t1) print(type(t1)) #空元组的创建方式 lst=[] lst1=list() d={} d2=dict() #空元组 t4=() t5=tuple() print('空列表',lst,lst1) print('空字典',d,d2) print('空元组',t4,t5) t=(10,[20,30],9) print(t) print(type(t)) print(t[0],type(t[0]),id(t[0])) print(t[1],type(t[1]),id(t[1])) print(t[2],type(t[2]),id(t[2])) #尝试将t【1】修改为100 print(id(100)) #元组是不允许修改元素的 t[1].append(100) print(t,id(t[1]))''' #元组的遍历 t=('python','world',98) #第一种使用元组的方式,使用索引 print(t[0]) print(t[1]) print(t[2]) #print(t[3])元组超出范围,会报错 for item in t: print(item,end='\t')
#字典的创建方式key:value '''#第一种 scores={'张三':100,'李四':98,'王五':45} print(scores) print(type(scores)) #第二种 students=dict(name='jack',age=20) print(students) #空字典 d={} print(d)''' #字典元素的获取,新增,修改 '''scores={'张三':100,'李四':98,'王五':45} #第一种方式 print(scores['张三']) #第二种 print(scores.get('张三')) print(scores.get('陈六')) print(scores.get('麻七',99)) #[ ] 取值与使用get()取值的区别: 1. [ ] 如果字典中不存在指定的key,抛出KeyError异常。 2. get()方法取值,如果字典中不存在指定的key,并不会抛出KeyError ,而是返回None,可以通过参数设置默认的value,以便指定的key不存在时返回。 #字典元素的判断 scores={'张三':100,'李四':98,'王五':45} print('张三' in scores) print('张三' not in scores) del scores['张三']#删除指定的key-value对 #scores.clear() #清空字典的元素 print(scores) scores['陈六']=98 #新增元素 print(scores) scores['陈六']=100 #修改元素 print(scores)''' #keys,values,items的获取 '''scores={'张三':100,'李四':98,'王五':45} #获取所有的key keys=scores.keys() print(keys) print(type(keys)) print(list(keys)) #将所有的key组成的视图转成列表 #获取所有的values values=scores.values() print(values) print(type(values)) print(list(values)) #获取所有的key-value对 items=scores.items() print(items) print(list(items)) #转化之后的列表元素是由元组组成的(元组将在下个章节讲解) ''' #元素的遍历 scores={'张三':100,'李四':98,'王五':45} for item in scores: print(item,scores[item],scores.get(item)) #字典的特点 '''d={'name':'张三','name':'李四'} print(d) d={'name':'张三','nikename':'张三'} print(d) lst=[1,2,3,4] lst.insert(1,100) print(lst) d={lst:100} print(d)''' #字典生成式 '''items=['Fruits','Books','Others'] prices=[96,78,85] lst=zip(items,prices) print(list(lst)) items=['Fruits','Books','Others'] prices=[96,78,85] d={item.upper():prices for item,prices in zip(items,prices)} print(d) #item.upper()将其变成大写'''