Python基础-变量、循环判断、列表、元祖、字典

2.1、变量

字符串必须加引号,int类型的不需要

数据类型: 字符串-str 整数-int 小数-float

name = '小黑'
age = 18
score = 95.5
word1=" let's go "
word2 = ' hi , this is "Mike" '
word3 =''' let's go, hi , this is "Mike" '''
字符串的格式化

%s 什么数据类型都可以
%d 跟的必须是数字,如果跟了小数,只取整数部分
%f 跟的必须是数字,可以跟小数,一定保留6位小数
–%.2f 保留2个小数(有四舍五入),位数不够补0

age4 = 110.11499
print('年龄是%.2f'%age4)

import datetime
date = datetime.datetime.today()
name = input('请输入你的名字:')
#欢迎xxx登录,今天的日期是
print('欢迎%s登录,今天的日期是%s'%(name,date))
运算符 + - * / // % **
age = 5
sum =age+1
number = age-1
number2 = age*3
number3 = age / 4  #保留整数和小数
number4 = age // 4 #地板除,只保留整数部分
number5 = age % 4  #取余数
number6 = 2**3     #取次方  2的3次方
print(number6)
类型转换

input接收到的始终都是str类型要使用其他类型需要转换

int和str不能相加,需要类型转换

age = 10
age2 = input('请输入你的年龄:')
age3 = age +int(age2)
print('age的类型是:',type(age))
print('age2的类型是:',type(age2))
print('新的年龄是:%s'%age3)
比较运算符 == > < >= <= !=
username = 'admin'
password = '123456'
username2 = 'xiaohei'
u = input('请输入用户名:')
p = input('请输入密码:')
if u == username or username2  and p == password:
    print('登录成功,欢迎登录%s'%u)
else:
    print('账号/密码错误')
布尔类型 true和false
print('男' in '男女')
print( 3 > 2 )
print( len('男')==1 and '男'in'男女')
循环
while循环,必须有计数器

continu-如果在循环里面遇到continu,那么结束本次循环,执行下一层循环

break-循环里面遇到break,不管还剩余多少次循环,立刻结束

count = 0
while count<10:
    print('创建文件夹,名字是%s'%count)
    count += 1
while-else

只有循环正常结束,才会执行else里面的内容

被break和continu结束的都不执行

count = 0
while count<10:
    print('创建文件夹,名字是%s'%count)
    count += 1
else:
    print('循环正常结束')

while循环小练习:猜数字,1-100之间,有7次机会,猜对了游戏结束,猜错了提示大了还是小了,并且提示还剩 几次机会

import random
count = 7
theNum = random.randint(1, 100)
while count > 0 :
    inputNum = int(input('请输入您猜测的数字'))
    count -= 1
    if inputNum == theNum:
        print('猜对啦,数字是%s' %theNum)
        break
    elif inputNum > theNum:
        print('猜错了,您猜测的数字过大','次数还剩%s次'%count)
        continue
    else:
        print('猜错了,您猜测的数字过小','次数还剩%s次'%count)
else:
    print('7次机会已经用完了')
for循环

for后面就是条件,不需要计数器

import random
theNum = random.randint(1, 100)
for i in range(7):
    inputNum = int(input('请输入您猜测的数字'))
    if inputNum == theNum:
        print('猜对啦,数字是%s' %theNum)
        break
    elif inputNum > theNum:
        print('猜错了,您猜测的数字过大')
        continue
    else:
        print('猜错了,您猜测的数字过小')
列表/数组-list
列表/数组的下标、索引、角标,取出元素
students = '易烊千玺,小北,李必'
stus = ['易烊千玺','小北','李必']
# 下标、角标、索引
print(stus[0])
查找元素的下标
stus = ['易烊千玺','小北','李必']
index = stus.index('小北')
列表/数组的增删改查
stus = ['易烊千玺','小北','李必','小北']
#新增
stus.append('candy')  #添加到最后方
stus.append('wendy')  #添加到最后方
stus.insert(1,'胡歌')   #指定下标添加
#修改  先找到数据的index再进行修改
index = stus.index('candy')  #找到下标
stus[index] = '邓金娇'   #修改数据
#删除
stus.pop()   # 不传index,默认删除最后一个元素
stus.pop(3)  # 删除指定下标的元素
stus.remove('小北')   #列表里有多个小北,一次只能删除第一个
del stus[2]   #指定下标删除
#查询
stus[0]
列表/数组的一些其他方法
stus = ['易烊千玺','小北','李必','小北']
nums=[22,33,76,15,9]
stus.count('小北')  #查找元素出现得次数
stus.sort()         #排序,默认是升序
stus.sort(reverse=True)    #降序
stus.reverse()     #反转列表
stus.clear()       #清空列表
stus.extend(nums)  #把列表nums加到列表stus里面
list的小练习

写一个录入学生信息的程序,接收学生信息,判断学生是否存在,存在的话提示已存在,继续添加;如果不存在,加入list,继续添加;如果输入quit就退出

stu_list=['candy','wendy','zyy']
while True :
    studentName = input('请输入学生信息:')
    if studentName == 'quit':
        print('程序退出,现在的学生名单是%s' % stu_list)
        break
    elif stu_list.count(studentName) == 0:
        stu_list.append(studentName)
        print('添加成功,现在的学生名单是%s' % stu_list)
        continue
    else:
        print('该学生已在,请重新输入,现在的名单是%s' % stu_list)
        continue
多维数组/列表
l = [1,2,3,4,5,6,[7,8,9,10,11]] #二维数组
l1 = [1,2,3,4,5,6,[7,8,9,10,11,['haha','lalala']]]
name = l1[-1][-1][0]
print(name)
# --->haha
元组tuple

元组不能修改,所以无增删改

查、取值的时候和list一样

t = (3,1,2,3,2,3,4)
t[1]          #元组的下标为1的元素
t.count('3')  #查找一共有几个3
t.index('2')  #查找第一个2的下标
字典
字典的元素是键值对存在的
stu_info = {
    'name': 'candy',
    'age': 19,
    'sex': '女',
    'weight': 100,
    'addr': '北京'
}
字典的增删改查
新增

如果key已经存在,setdefault不会修改已有的值

stu_info['money'] = 30000
stu_info.setdefault('car', 'bmw')
删除
stu_info.pop('weight')
del stu_info['age']
stu_info.popitem()    #随机删除一个键值对
修改
stu_info['age'] = 18
查询

日常用stu_info.get会比较好,再判断一下是否为空

stu_info['name']
stu_info['name1']      # 取到一个不存在的值,会报错
stu_info.get('addr')
stu_info.get('addr1')  # 取到一个不存在的值,会返回None
stu_info
字典的其他用法
d = {'phone': 133}
stu_info.clear()
stu_info.update(d)  #合并两个字典
stu_info.keys()     #返回字典里的所有key 是个list
stu_info.values()   #返回字典里的所有value 是个list
stu_info.items()    #返回字典里的所有value 是个list套元组
取字典键和值
# 字典取值,直接循环字典,每次取的是字典的key,根据key取value
for k in stu_info:
    print(k,stu_info[k])

#不如上面的效率高,因为要先转成列表
for k,v in stu_info.items():
    print(k,v)
字典嵌套
info = {
    'candy':{
        'age':18,
        'addr':'beijing',
        'cars':['bmw','ben-z','audi']
    },
    'yy':{
        'house':{
            'bj':['海淀区','昌平区','朝阳区','西城区'],
            'sh':['静安区','闸北区']
        },
        'money':5000
    }}

info['candy']['cars'].append('tsl')
info['yy']['house']['bj'].remove('海淀区')
info['yy']['money'] = info['yy']['money']+5000
print(info)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值