Python从零学起(1)

#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()将其变成大写'''

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值