python基础

Python数据类型


数据类型 字符串(string) 整数(int) 小数(float)
例:
name="小黑",age=18,score=98.5

字符串中包含’可用”括起来 同样的 如果是包含” 可用’括起来 如果同时包含’”可用’’’括起来

例:
words="let's go"
words2='you are very "high"'
words3='''let's go,you are very "high"'''
words4="""xxxx"""

input

name=input("请输入你的名字:") #input接收到的都是string类型  py2 raw_input()

注释
#、ctrl +? 注释、批量注释''' '''


快速复制 ctrl +d


字符串格式化

import datetime
today=datetime.datetime.today()
words5="欢迎登陆,"+name+",今天的日期是"+str(today)
words6="欢迎登陆,%s,今天的日期是%s"%(name,today)
print(words5)

#变量

age=0
age2=int(input())
age3=age + age2

print("age2的类型",type(age2))  #type是看变量的数据类型

# %s %d %f
print("新的年龄是 %s" %age3)
print("新的年龄是 %.5f" %age3)

字符串格式化:

            %s 什么类型都可以

            %d 只能是数值型的,它不保留小数,只取整数,如果写了字符串会报错

            %f 只能是数值型的,保留小数,如果写了字符串会报错


#运算符

age=5
sum=age+1
number=age-1
number2=age*3
number4=age/4 #正常 在python2里面它就是地板除 如果要变成正常的除法 那么除数或者被除数要有一个是小数类型
number5=age//4 #地板除
number6=2**3 #取N次方的
number7=10 % 3 #取余 取模

布尔类型

布尔 True False #真 假


print("男" in "男女")
print(3<2)
print(len("男")==1 and "男" in "男女")

and
True True -->true
Flase False -->false
True False -->false

or
True True -->true
Flase False -->false
True False -->true

判断

if xxx:
     xxx
 else:
     xxx

 username="admin"
 password="123456"
 username2="xiaohei"


 u=input("用户名:")
 p=input("密码:")
 if u==username:
     print("你是admin用户")
 elif u==username2:
     print("你是普通用户")
 else:
     print("用户名不正确")
 if u==username or u==username2 and p == password:
     print("欢迎%s登录"%u)
 else:
     print("用户名或者密码错误")
 if u==username or u==username2:
     if p==password:
         print("登录成功")
     else:
         print("密码错误")
 else:
     print("账号不存在")

 

 

sex=input()
print(len(sex)) #取长度
sex_str='男女'
 if sex in sex_str and len(sex)==1:
     print('合法')
 else:
     print('非法')

 if sex not in sex_str:
     print('非法')
 elif len(sex)!=1:
     print('非法')
 else:
     print('合法')

 



#比较运算符
 ==、 >、 <、>=、<=、!=、并且  and or、in 在xxx里面、not in不在里面

循环

 

循环 迭代 遍历
for while

循环:

continue #如果在循环里面遇到continue,那么结束本次循环,立马进行下一次循环

break  #如果在循环里面遇到break,循环立即结束,不管还有多少次没有循环

       while 循环,使用循环的话需要定义一个计数器,用来控制循环次数

       对应的else,如果循环是正常结束的,那么会执行else里面的代码,如果循环是被break结束的,不会执行


while,计数器

 count=0
 while count <10:
     print("创建文件夹,文件夹名字是%s" %count)
     count=count+1
     break
 else: #如果循环正常结束的 那么会执行else里面的代码
     print("循环结束")
 import random
 number=random.randint(1,100)
 count=0
 while count<7:
     guess=int(input())
     count+=1
     if guess==number:
         print("pass")
         break
     elif guess<number:
         print("small")
         continue
     elif guess>number:
         print("big")
         continue


 += -= /= *=

names=["aa","bb","cc","dd"]
 for name in names:
     if name=="aa":
         continue
     print("给发%s500钱"%name)

 import random
 number=random.randint(1,100)
 count=7
 while count>0:
     guess=int(input())
     count-=1
     if guess==number:
         print("恭喜猜对了,数字式%s" %number)
         break
     elif guess<number:
         print("small,剩余%s次"%count)
         continue
     elif guess>number:
         print("big,剩余%s次"%count)
         continue
 else:
     print("次数用完了")

 

for循环
 for i in range(7):
     print(i)
 else:
     print("循环结束")

 import random
 number=random.randint(1,100)
 for i in range(7):
     guess=int(input())
     if guess==number:
         print("pass")
         break
     elif guess<number:
         print("small")
         continue
     elif guess>number:
         print("big")
         continue

元祖

# tuple 不能修改

t=(1,2,3)
print(t[0])
for i in t:
    print(i)
info=("118.23.3.40","root","123456","3306")

print(info.count("root"))
print(info.index("root"))

数组

#str int float bool list

students="aa,bb,cc"
#数组 列表
stus=["cc","bb","cc","cc"]
       0     1     2
下标 角标 索引

取元素
print(stus[2])#从0开始
print(stus[-1])

新增

 stus.append("dd")
 stus.append("ee")
 stus.insert(0,"ff")

#修改

stus[2]="python"
stu=111
 if stu in stus:
     index=stus.index("stu") #如果查找不存在的元素 会报错
     print(index)
     stus[index]="gg"
     print(stus)

#删除

 stus.pop() #删除末尾的元素
 stus.pop(0)#删除指定下标的
 stus.remove("cc")#删除指定的元素 只删除第一个
 del stus[0]
 print(stus)
stus.count("aa") #查找元素出现的次数


 sort方法没有返回值

stus.sort() 排序 默认是升序
stus.sort(reverse=True) 排序 默认是升序 它只是排序
print(stus)

stus.reverse() #反转list,会改变原来list的值
print(stus)
stus.clear() #清空list
print(stus)

nums=[1,2,3]
stus.extend(nums) #合并列表
print(stus)

多维数组

l=['aa','bb','cc','dd',[1,2,3]] #2维数组
l1=['aa','bb','cc','dd',[1,2,[4,5]]] #3维数组
print(l[-1][1])
print(l1[-1][-1][0])

List循环

import os
l=['aa','bb','cc','dd']
# 麻烦的方法 计算下标去取值

count=0
while count<len(l):
     name=l[count]
     os.mkdir(name)
     count=count+1
for index in range(len(l)):
     print(l[index])

一般用底下这种

 for name in l: #执行循环list 就是取list里面的每个元素
     print(name)
     os.mkdir(name)

List练习

students=[]
while True:
    name=input("请输入学生名称:")
    if name=="quit":
        print("程序退出 现在的学生名单是",students)
        break
    elif name not in students:
        students.append(name)
        print("添加成功 现在的学生名单是",students)
        continue
    else:
        print("学生已存在,请重新输入")
        continue

字典

#字典

student_info={
    "name":"aa",
    "age":11,
    "high":180,
    "dsd":"ddd"
}
aaa={"aa":1,"bb":2,"cc":3}

增加

student_info["money"]=30000
student_info.setdefault("name","bmw")

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

修改

student_info["name"]=30000

取值

print(student_info["name1"])
print(student_info.get("name1"))

# 取不存在的值 []方法报错 get方法返回None

删除

student_info.pop("name1")
del student_info["age"]
aaa.popitem() #随机删除一个元素 一般删除末尾对

#其他的方法

student_info.clear() #清空
d={"aa":1,"bb":2}
student_info.update(d) #合并两个字典

print(student_info.values())
print(student_info.keys())
print(student_info.items())


print("name" in student_info.keys())
print("name" in student_info) #直接用in判断的话 就判断这个key是否存在
student_info.has_key("name") python2里面有 python3没有

for key in student_info: #直接循环字典,每次取的是字典的key,比较高效的方式
     value=student_info[key]
     value2=student_info.get(key)
     print("%s -> %s" %(key,value))
     print("%s -> %s" % (key, value2))


 print(student_info.items())

 for key,value in student_info.items():
     print("%s=>%s"%(key,value))

字典嵌套

info = {
    'lgy':{
        'age':18,
        'addr':'beijing',
        'cars':['bmw','ben-z','audi']
    },
    'fd':{
        'house':{
            'bj':['海淀区','昌平区','朝阳区','西城区'],
            'sh':['静安区','闸北区']
        },
        'money':5000
    }
}
 info["lay"]["cars"].append("tesla")

 index=info["fd"]["house"]["bj"].index("海淀区")
 info["fd"]["house"]["bj"].pop(index)
 info["fd"]["house"]["bj"].remove("海淀区")
 info["fd"]["money"]+=5000000
 print(info)
posted @ 2021-04-17 23:55  沐夏  阅读(75)  评论(0编辑  收藏  举报