fmz_day02python基础

python:写代码语言

pycharm:写代码工具

python基础:变量定义,循环,判断,数组

input接收的都是string类型

type是看变量的数据类型

 

循环:

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

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

continue:如果在循环里面遇到continue,那么结束本次循环,立马进行下一次循环,本次continue后面的代码不执行了

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

ctrl+d  复制一行

 

编译型语言:C语言。整本书先给你翻译成中文,编译型语言更快

解释型语言:python,java,php,ruby。运行一行,编译一行。

 

 

 

# print('hello world!')

#数据类型 字符串string 整数int 小数float
# name = '小黑'
# age = 23
# score = 98.5
# #变量
# words = "let's go"
# words2 = 'you are very "high"'
# words3 = '''let's go you are "high"'''

# print(words)
# print(words2)
# print(words3)

# import datetime #导入时间
# name = input("欢迎登陆,请输入你的名字") #python2里面是raw_input()
# #字符串格式化
# today = datetime.datetime.today() #今日日期
# words5 = "欢迎登陆," + name +", 今天的日期是" + str(today)
# words6 = "欢迎登陆, %s, 今天的日期是%s" % (name,today) #占位符方式
# print(words5)
# print(words6)

#运算符
# age = 5
# number = age + 1
# number2 = age - 1
# number3 = age * 3
# number4 = age / 4 #正常除法,在python2里它就是地板除,如果你要变成正常的除法,那么除数或者被除数要么有一个是小数类型
# number5 = age // 4 #地板除,只保留整数部分
# number6 = 2**3 #取N次方 2的3次方
# number7 =10 % 3 #取余,取模
# print(number)
# print(number2)
# print(number3)
# print(number4)
# print(number5)
# print("取N次方",number6)
# print("取余",number7)

# age = 10.23
# age2 = input("请输入你的年龄:")#input接收的始终是str类型
# #age2 = int(input("请输入你的年龄:"))
# age2 = int(age2)
# age3 = age +age2
# type是看变量的数据类型
# print("age类型",type(age))
# print("age2类型",type(age2))
# #%s %d %f
# %s 什么类型都可以
# %d 只能是数值类型 只取整数
# %f 只能是数值类型 保留小数
# print("新的年龄是 %s" % age3)
# print("新的年龄是 %.2f" % age3)保留2位小数

#比较运算符 == >= <= > < !=
#并且 and 或者 or
# username = "admin"
# password = "123456"
# username2 = "xiaohei"
#
# u = input("请输入用户名")
# p = input("请输入密码")
#
# if u == username or u ==username2:
# if p == password:
# print("登录成功")
# else:
# print("密码错误")
# else:
# print("账号不存在")

#账号输入admin和xiaohei都可以,密码是123456
# if (u == username or username2) and p == password:
# print("登录成功,欢迎%s登录" % username)
# else:
# prnt("账号/密码错误")

# u = input("请输入用户名:")
# if u == username:
# print("用户名正确")
# elif u == username2:
# print("你是普通用户")
# else:
# print("用户名不正确")

# sex = input("请输入性别:")
# 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("性别合法")

#str int float bool
#布尔 True Flase 真 假
# print("男" in "男女")
# print(3<2)
# print(len("男") == 1 and "男" in "男女")

#循环,迭代,遍历--重复做某件事情
#for
#while,计数器
# count = 0
# while count < 10:
# print("创建文件夹,文件夹名字是%s" % count)
# count = count + 1
#else:#while对应的else,如果循环是正常结束,那么会执行else里面的代码,break就不是正常结束
# print("循环结束")

# names = ["zengruotian","liuhuijie","wukangfei","lankaiming","candy"]
#
# for name in names:
# if name == "wukangfei":
# continue
# print("给%s发了500块" % name)

# 练习,猜数字,1-100间,有7次机会,猜对了游戏结束,猜错了,提示大了还是小了
# import random
# number = random.randint(1, 100)
# count = 7
# while count > 0:
# count = count - 1
# guess = input("请输入一个数字:")
# guess = int(guess)
# if guess == number:
# print("恭喜你猜对了,数字是%s" % number)
# break
# elif guess < number:
# print("猜小了,剩余%s次" % count)
# continue
# elif guess > number:
# print("猜大了,剩余%s次" % count)
# continue
# else:
# print("次数已经达到上限")

#for循环
# for i in range(7):#for循环,自动累加1
# print(i)
# else:
# print("end")

# import random
# number = random.randint(1,100)
# for i in range(7): #range里面必须要写个数字
# guess = input("请输入一个数字")
# guess = int(guess)
# if guess == number:
# print("回答正确")
# break
# elif guess > number:
# print("大了")
# continue
# elif guess < number:
# print("小了")
# continue

#str int float bool list
students = "曾若天,吴康飞,刘慧杰"
#数组/列表 list增删改查
stus = ["曾若天","吴康飞","刘慧杰"]
#0 0 1 2
#从后面取 -3 -2 -1

#下标,角标,索引
print(stus)
#取元素
print(stus[2])#取刘慧杰
#新增
stus.append("candy")#默认末位增加
stus.insert(1,"赵莹莹")#指定下标位置增加
#修改
stus[2] = "python"
index = stus.index("candy") #找元素下标,如果找的元素不存在会报错
stus[index] = "dengjinjiao"
应用:先判断这个元素是否在列表中,在的话再继续查找,否则不执行查找这个元素,这样元素不存在也不会报错
stu = "111"
if stu in stus:
index = stus.index(stu)
#删除
stus.pop() #删除末位元素
stus.pop(0) #删除指定下标位置
stus.remove("candy") #remove是指定元素删除,只删除第一个。 pop是指定下标删除。
del stus[0] #del关键字删除,下标为0的删除

# print(  stus.count("candy") )#查找元素出现的次数,也可判断元素是否在列表中,为0即不存在,这种有返回值
# nums = [82,23,235,236,121,1,0,3,25,26]
# nums.sort()#排序,默认是升序,它只是排序,没有返回值
# nums.sort(reverse=True)#排序,默认是降序
# print(nums)
# nums.reverse()#反转list,会改变原来list的值
# stus.clear()#清空list
stus.extend(nums) #合并list,把另外一个nums里面的元素都加入到stus列表里面
print(stus)
#写一个录入学生信息的程序,
# 接收输入学生名称,判断学生是否存在,如果存在的话,提示已经存在,继续添加,
#如果不存在的话,加入到list里面,继续添加

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

#不存在的、存在的、quit

import os
l = ["hello","wendy","eason","刘天"]
#麻烦的方式,计算下标去取值
# index = 0
# while index < len(l):
# name = l[index]
# os.mkdir(name)#创建文件夹
# index = index + 1

# for index in range(len(l)):
# print(l[index])

#常用的方式,直接循环
# for name in l:#直接循环list,就是取list里每个元素
# print(name)

#tuple 元组,定义好了就不能修改,不能新增,修改,删除,可以循环,取值,只有count,index两种方式
# t = (1,2,3)
# info = ("118.23.3.40","root","123456","3306")#应用在连数据库信息,以防别人修改,连不上数据库
# print(info.index(root))
# print(info.count(root))
l = [1,2,3,4,5,6,[7,8,9,10,11]] #2维数组
l2 = [1,2,3,4,5,6,
[ 7,8,9,10,11,["zengruotian",'abc']
]
] #3维数组
print(l[-1][3])#取10
print(l2[-1][-1][0])#取zengruotian

# 字典 字典没有顺序
# 曾若天 18 180 150 北京
stdents = [
["曾若天","18","180","150","北京"],
["liuhuijie","18","180","150","北京"],
["candy","18","180","150","北京"],
["lixuesong","18","180","150","北京"],
]#二维数组不建议用,查找麻烦,耗时长

student_info = {
"addr": "北京",
"name":"曾若天",
"age":18,
"high":180,
"tizhong":150,
}

#新增
# student_info["age"] = 19
# student_info["money"] = 300000
# student_info.setdefault("car","bmw")
#两者区别,如果是已经存在的key,setdefault不会修改已有的值
#修改
student_info["age"] = 19
#取值
# print(student_info["name"])
# print(student_info["age"])
# print(student_info.get("addr"))
# print(student_info.get("tizhong"))
# 两者区别,取个不存在的值,[]报错,而.get返回none
#删除
# student_info.pop("age")
# del student_info["age"]
# student_info.popitem() #删除最后一个元素

#其他的方法
# student_info.clear() #清空
# d = {"phone":110}
# student_info.update(d) #合并两个字典,将d字典加到student_info
# print(student_info.values())#所有values放在一个list里
# print(student_info.keys())#所有keys放在一个list里
# print(student_info.items())#key,value放在一个二维数组里
# student_info.has_key("name")#python2里有,python3没有,判断有name的话返回true
# print("name" in student_info.keys())
# print("name" in student_info)#直接用in判断,判断这个key是否存在
# 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))
#
for key,value in student_info.items():#为什么for后面加items可以写两个值遍历,其他循环写一个值key,因为解包
print("%s %s" %(key,value))

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

info["lgy"]["cars"].append("tesla")#在车里加入tesla
# print(info)
#方丹 海淀区房卖了,卖了500w即删除海淀区,金额加500w
index = info["fd"]["house"]["bj"].index("海淀区")
info["fd"]["house"]["bj"].pop(index)
# info["fd"]["house"]["bj"].remove("海淀区")
info["fd"]["money"] = info["fd"]["money"]+500
info["fd"]["money"]+=500
print(info)

posted @ 2021-04-23 05:32  wangwen88  阅读(71)  评论(0编辑  收藏  举报