找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手

if语句 while循环语句 for循环语句 continue语句 break语句

[复制链接]
python 中字典 dict{}
定义字典的方法
1.使用dict方法把列表转换成字典
list1 = [('id',1),('name','xiaochen'),('age',18)]
dic = dict(list1)
print(dic)    # 执行结果{“id" : 1, "name" : ‘xiaochen", "age" : 18}
print(type(dic))    执行结果:<class "dict">
2直接使用{}定义字典
dic = {'id':1,'name':'xiaochen','age':18,'class':202113}
print(dic)     #执行结果{'id': 1, 'name': 'xiaochen', 'age': 18, 'class': 202113}
print(type(dic))    #执行结果<class 'dict'>
# 3定义一个空字典
dic = {}
print(dic)
print(type(dic))  #执行结果<class 'dict'>

字典中常见的函数
往字典中新增加键值对
1.通过赋值的方法新增键值对
dic = {'id':1,'name':'xiaochen','age':18,'class':202113}
dic['sex'] = ''    #新增一个原字典中不存在的键值对
print(dic)           #执行结果{'id': 1, 'name': 'xiaochen', 'age': 18, 'class': 202113, 'sex': ''}
dic['age'] = 20      新增一个原字典中存在的键值对,则原字典中键对应的值被覆盖
print(dic)     #执行结果{'id': 1, 'name': 'xiaochen', 'age': 20, 'class': 202113, 'sex': ''}
2通过使用setdefault()函数新增键值对
dic = {'id':1,'name':'xiaochen','age':18,'class':202113}
dic.setdefault('sex','')  新增原字典中不存在的键值对
print(dic)     #执行结果{'id': 1, 'name': 'xiaochen', 'age': 18, 'class': 202113, 'sex': ''}
dic.setdefault('age',20)   新增原字典中不存在的键值对  添加键值对的操作不生效
print(dic)    #执行结果{'id': 1, 'name': 'xiaochen', 'age': 18, 'class': 202113, 'sex': ''}
python字典删除键值对
注意:字典中删除键,会默认把该键对应的值一起删除
1.使用del方法删除
del dic['class']
print(dic)     #执行结果{'id': 1, 'name': 'xiaochen', 'age': 18}
2.使用pop()函数删除
print(dic.pop('class'))  #使用pop()函数删除键时,可以打印出删除键对应的值
print(dic)    #执行结果{'id': 1, 'name': 'xiaochen', 'age': 18}
3.清空字典中的键值对claer()
dic.clear()
print(dic)     #执行结果:{}
dic.setdefault('sex')  #注意使用setdefault()添加键值对,如果不给具体的值,则会自动给出一个默认值None
print(dic)      #执行结果 {'id': 1, 'name': 'xiaochen', 'age': 18, 'class': 202113, 'sex': None}
4.popitems()随机删除字典中的键值对,与pop()的区别即是函数不用给定参数 --默认删除字典中最后一对键值对
dic.popitem()
print(dic)
取出字典中的键值对
1.取出字典中所有的键和值--直接使用keys()和values()方法
dic = {'id':1,'name':'xiaochen','age':18,'class':202113}
print(dic.keys()) 执行结果:dict_keys(['id', 'name', 'age', 'class'])
print(type(dic.keys()))
print(dic.values())     #执行结果:dict_values([1, 'xiaochen', 18, 202113])
字典遍历--使用for循环语句
for k in dic:
     print(k,dic[k])
# 3.字典遍历--使用for循环配合items()函数
for k,v in dic.items():
    print(k,v)
# 4.单独取出字典中的某个键所对应的值 --使用字典名[键名]
print(dic['name'])   #执行结果xiaochen
print(dic['city'])  #报错KeyError: 'city'
5.使用get()方法获取字典中某个键对应的值
print(dic.get('id'))  执行结果为:1
print(dic.get('city'))  3执行的结果为:None
dic = {'id':1,'name':'xiaochen','age':18,'class':202113}
判断字典中是否存在某个键:__contains__() 执行结果通常为True或False
print(dic.__contains__('name'))   #执行结果True    非常重要
print(dic.__contains__('sex'))  #执行结果为:False
合并二个字典--update()函数
dic = {'sex':''}
dic.update(dic1)
print(dic)            #执行结果;{'id': 1, 'name': 'xiaochen', 'age': 18, 'class': 202113, 'sex': ''}

fronkeys()给字典制定新的键值对
print({}.fromkeys(['id','name'],'xiaochen'))  #执行结果{'id': 'xiaochen', 'name': 'xiaochen'}
dic1 = {}.fromkeys(['name'],'xiaochen')
print(dic1)   #执行结果{'name': 'xiaochen'}
username = input ('请输入用户名')
if username =='admin'
    print('管理员上线')
elif username == 'dcs' ;
    printv(“VIP用户上线”)
elif username == 'xiaochen':
print('穷人上线')
    else:
        print('普通用户上线')
#多分支语句
#语法结构:
#if 条件1
    代码块
elif 条件2
      代码块
elif 条件3:
      代码块
else:
      代码块

需求:用python语言编写一个用户登入的简单场景,假设系统已经存在的用户和密码为;admin123456
username = input('请输出用户名;')
if username == 'admin'
    password = input('请输入用户名密码:')
    if password = '123456'
        print('登入成功')
    else;
        print('密码错误,请从新输入!')
else:
      print('用户名不存在,请重新输入')

while循环语句
语法格式
while 条件:
    代码块
n = 0
while  n<10:
    print(n)
    n+=1     #执行结果: 0 12,3,4,5,6,7,8,9
#需求
1. 打印出1-10之间的自然数
n = 1
while n<11
     print(n)
    n+=1
4.打印出1-10之间的自然数 之和
n = 1
m =0
while n<11:
     m+=n
     n+=1
print(m)
5.打印出1-10之间的奇数之和
n = 1
m = 0
while n<11:
    m+=n
    n+=2
print(m)

for 循环语句
    语法结构:
for 变量名in
     代码
or i in range(1, 10):  # range()函数:专门用来遍历数据序列结构的函数
print(i, end=' ')  # end= ’ ‘python3版本的横向打印
1.打印1 - 10奇数

for i in range(1,11,2):
     print(i,end=' ')
2.打印1-10偶数
for i in range(2,11,2):
      print(i,end=' ')
3.打印出1-10之间的奇数之和
res = 0
for i in range(1,11,2):
      # print(i,end=' ')
      res = res+i
print(res)        #执行结果为1 3 5 7 9 (总数等于25


continue语句:  作用是结束当前循环,进入下一个循环
需求;打印出数字1,2,3,4,5,7,8,9,10
for i in range(1,11):
      if i == 6:
            continue
      else:
          print(i,end=' ')   #执行的结果是1 2 3 4 5 7 8 9 10
#break语句:终止达到条件之后的所有循环
for i in range(1,11):
      if i == 6:
            break
      else:           print(i,end= ' ')       执行的结果是1 2 3 4 5


练习1.

1、求出1 / 1 + 1 / 3 + 1 / 5⋯⋯+1 / 99的和
res = 0
for i in range(1,100,2):
      print(i,end=' ')
       res = res+1/i
print(res)


2、用循环语句,计算2 - 10之间整数的循环相乘的值。
n = 2
# # m = 1
# # while n<11:
# #    m*=n
# #    n+=1
# # print(m)
# # 2:
# # res =1
# # for i in range(2,11):
# #     res *=i
# #     print(res)
# #
#
# # #3、用for循环打印九九乘法表
# # i,j=1,1
# # for i in range(1,10):
# #     # print()
# #    for j in range(1,i+1):
# #       a=i*j
# #       print(f'{j}x{i}={a}',end=' ')
# #    print(" " )
# #
#
# #4、求每个字符串中字符出现的个数如:helloworld
# # str1= 'helloworld'
# # 方法1
# # set1 = set(str1)
# # for i in set1:
# #     a = str1.count(i)
# #     print('字符%s出现的次数为%d'%(i,a))
# # 方法2
# dic = {}
# for i in str1:
#       if i in dic:
#           dic = dic+1
#       else:
#            dic = 1
# for k,v in dic.items():
#     print('字符%s出现的次数为%d'%(k,v))



#5、实现把字符串str = "duoceshi"中任意字母变为大写(input语句实现)
str1 = "duoceshi"
str2=list(str1)
      D  U  O  C  E  S   H I
      0  1  2  3  4  5  6  7
print(type(str1))
num=input('duoceshi')
num1=int(num)
str2=str1[num1]
print(str2.upper())
第2 中方法
str1 ="duoceshi"
s = input("请出入要改变的字符:")
for i in s:
     if i in str1:
         a=i.upper()
         str1 = str1.reploce(i,a)
print(str1)


6、求出1900 - 2017年的闰年?
普通闰年:能被4整除但不能被100整除的年份为普通闰年。(如2004年就是闰年,1999年不是闰年)
世纪闰年:能被400整除的为世纪闰年。(如2000年是世纪闰年,1900年不是世纪闰年)

for i in range(1900,2018):
    if i%4==0 and i%100 !=0:
        print(i)
方法2
for j in range(1900,2018)
    if j % 4 ==0 and j %100 !=0
        print(j,end=' ')
    elif j %400 ==0:
         print(j,end=' ')
7、分别打印100以内的所有偶数和奇数并存入不同的列表当中
for i in range(1,101,2):
     print(i,end=' ')
for i in range(2, 101, 2):
print(i,end=' ')

正确方法
even = []
odd = []
for i in range(0,101):
    if i % 2==0:
        even.append(i)
    else:
         odd.append(i)
print(even)
print(odd)



8、请写一段Python代码实现删除一个list = [1, 3, 6, 9, 1, 8]# 里面的重复元素
list = [1,3,6,9,1,8]
l = []
for i in list1:
    if i in l:
         continue
     else:
         l.append(i)
print(l)



9、将字符串类似:"k:1|k3:2|k2:9|...|kn:m", 处理成key:valuejson格式, 比如
{"k": "1", "k3": "2"}
str1 = 'k:1|k3:2|k2:9|'
dic={}
a = str1.split('|')
for i in a:
    b= i.split(':')
    dic.setdefault(b[0],b[1])
    print(dic)




10、把字符串user_controller转换为驼峰命名UserController
str1 = "user_controller"
res = ' '
s = str1.split(('_'))
for i in s:
    a = i.capitalize()
    res +=a
print(res)


11、冒泡排序
给一组无规律的数据从大到小或从小到大进行排序如:list = [2, 6, 9, 10, 18, 15, 1]
list =[2,6,9,10,18,15,1]
for i in range(len(list1)): #  (len()函数,用来获取列表或者字符串的长度)
    for j in range(i+1,len(list1)):
        if list1>list1[J]:
            list1,list1[j]=list1[j],list1    #冒泡排序中的重要步骤,位置互换


12、分析以下数字的规律, 1 # # print(list1)


1 2 3 5 8 13 21 34用Python语言编程实现输出
l = []
for i in range(9):  #for循环中取出的i作为列表中元素的索引位
    if i ==0:
        l.append(1)
    elif i == 1:
        l.append(1)
    else:
        l.append(l[i-1]+l[i-2])
print(l)

分享至 : QQ空间
收藏

1 个回复

倒序浏览
大兄弟,冒号都能打歪来
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册