以下内容仅做自己学习使用,知识点内容来自柠檬班,转载请标记来源
@Author:木又
@File:demo1_while条件循环.py
@Time:2020/7/9 20:11
@Name:Ta Quan Ge
while 循环
语法:
while 条件:
循环体
break 强制性的跳出循环体
continue 终止当前本轮循环,开启下一轮循环 (工作中很少用)
num = int(input("请输入是否考上清华:是请输入1,否请输入2:"))
while num == 2:
print("复读")
num = int(input("请输入是否考上清华:是请输入1,否请输入2:"))
print("考上") # 跳出循环
n = 1
while n < 100: # 死循环
print("hello python")
n = 1
while n < 100:
print(f"这是第{n}编:Hello python")
n = n + 1
print("结束")
登录
user = "zq"
pwd = "123456"
while True:
username = input("请输入用户名:")
password = input("请输入密码:")
if user == username and password == pwd:
print("登录成功!")
break # 当成功后,跳出循环
else:
print("账号或密码错误!")
break 跳出循环体
continue 终止当前本轮循环,开启下一轮循环
通过循环去打印1-10,其中5不用打印
n = 0
while n < 10:
n = n +1
if n == 5:
pass # 没有任何语义,占位
else:
print(f"这是第{n}遍", n)
n = 0
while n < 10:
n = n +1
if n == 5:
continue # 终止本次循环,执行下次循环,重新回到开始位置,执行下次循环
else:
print(f"这是第{n}遍", n)
=================================================================
@Author:木又
@File:demo2_for循环.py
@Time:2020/7/9 20:49
@Name:Ta Quan Ge
for 循环(遍历循环)
for 变量 in 被遍历的数据:
循环执行的代码
可以被遍历的基本数据类型:列表 字符串 元祖 字典 集合
内置函数len():获取数据的长度
li = [1, 2, 3, 4, 5, 6, 7, "a", "b"]
# print("列表的长度:", len(li))
for i in li:
print("循环体中的代码")
print(i)
=================================================================
@Author:木又
@File:demo3_for循环加粗样式遍历基本数据类型.py
@Time:2020/7/9 20:56
@Name:Ta Quan Ge
“”"
for循环遍历
遍历字符串
#
s = "taquange"
for i in s:
print(i)
#打印结果
t
a
q
u
a
n
g
e
遍历元祖
s = (1, 2, 35, 4)
for i in s:
print(i)
# 打印结果:
1
2
35
4
遍历集合(无序)
s = {1, 4, 2, 3, 45}
for i in s: # 注:遍历出来的数据是无序的
print(i)
#打印结果:
1
2
3
4
45
遍历字典(重点)
dic = {"a": 1, "b": 2, "c": 3, "d": "ZQ"}
**直接遍历字典:遍历出来的是字典的key**
for i in dic:
print(i)
#
a
b
c
d
遍历字典的key
dic = {"a": 1, "b": 2, "c": 3, "d": "ZQ"}
for i in dic.keys():
print(i)
遍历字典的value
dic = {"a": 1, "b": 2, "c": 3, "d": "ZQ"}
for i in dic.values():
print(i)
遍历字典的键值对
dic = {"a": 1, "b": 2, "c": 3, "d": "ZQ"}
for i in dic.items():
print(i, type(i)) # 打印出来的数据类型是元祖
键和值分别遍历出来,遍历的时候单独用变量接收key和value值
for i, n in dic.items():
print("key:", i, "value:", n)
元祖拆包
tu = ("a", 11, 9)
a, b, c = tu # 元祖中有几个元素,就定义几个变量
print("a的值", a) # a的值 a
print("b的值", b) # b的值 11
print("c的值", c) # c的值 9
=================================================================
@Author:木又
@File:demo3_for循环遍历的小案例.py
@Time:2020/7/9 21:29
@Name:Ta Quan Ge
range()
# for 循环中的break和continue
# for i in range(1, 10):
# if i == 6:
# continue
# print(f"这个是第{i}遍:hello python")
批量判断数值是否大于60
li = [78, 32, 55, 77, 88, 54, 34, 39]
# 判断大于60的数值
# for i in li:
# if i > 60:
# print(i)
range()
range(n):默认生成一个0 ~ n-1 的整数序列,对于这个整数序列,
我们可以通过list()函数转化为列表类型的数据
range(n, m) 默认生成一个n ~ m-1 的整数序列,对于这个整数序列,
我们可以通过list()函数转化为列表类型的数据
range(n, m, k):相当于其他函数里面的for循环,n初始值 m结束值 k步长,
会生成初始值的为n,结束值为m-1,递减或者递增的整数序
打印100遍python
for i in range(100):
print(f"这是第{i}遍python")
for i in range(1,101):
print(f"这是第{i}遍python")
break
#for循环中的break continue
for i in range(1, 10):
if i == 6:
break
print(f"这是第{i}遍python")
print("-----------for--------------")
continue
for i in range(1, 10):
if i == 6:
continue
print(f"这是第{i}遍python")
print("-----------for--------------")
================================================================
@Author:木又
@File:demo04_for循环实现注册的案例.py
@Time:2020/7/12 21:54
@Name:Ta Quan Ge
for – else:
for i in range(10):
循环体
else:
for对应的else语句,for循环正常遍历结束的时候会执行,
(如果for循环是通过break来结束循环的则不会执行对应的else)
需求:
实现一个注册的小程序代码
1.用户输入的账号id,密码pwd,再次确认密码pwd
2.判断该账号是否已经存在,返回已注册打印账号被注册
3.判断两次密码是否一致,返回打印两次密码不一致
4.上面两个判断都通过则注册成功(注册成功之后需要将账号 密码保存在列表中),否则打印对应提示
users = [{"uid": "zq", "pwd": 123456},
{"uid": "zj", "pwd": 1234567}
]
id = input("请输入账号:")
pwd = input("请输入密码:")
pwd2 = input("请确认密码:")
#遍历所有的账号
for i in users:
# 判断账号是否已经注册
if id == i["uid"]:
print("账号已被注册")
break
else:
# print("该账号可以注册")
# 如果账号没有注册,则不会执行for循环中的break,则执行for对应的else语句
if pwd == pwd2:
print("注册成功!")
# 讲输入的账号密码以字典的形式添加至user中
users.append({"uid": id, "pwd": pwd})
else:
print("两次密码不一致!")
================================================================
@Author:木又
@File:work_06day.py
@Time:2020/7/13 21:11
@Name:Ta Quan Ge
1、实现剪刀石头布游戏(),提示用户输入要出的拳 :石头(1)/剪刀(2)/布(3) / 退出(4)
电脑随机出拳比较胜负,显示 用户胜、负还是平局。
运行如下图所示(提示:while循环加条件判断,做判断时建议先分析胜负的情况)
user random
1 2 1 - 2 = -1( 用胜) 1 - 3 = -2(电胜) 1 - 1 = 0
2 3 2 - 3 = -1(用胜) 2 -1 =1(电胜) 2 - 2 = 0
3 1 3 - 1 = 2 (用胜) 3-2 = 1(电胜) 3 - 3 = 0
# import random
#
# li = ["石头", "剪刀", "布", "退出"]
# while True:
# user = int(input("请出拳(石头(1) 剪刀(2) 布(3) 退出(4):"))
# computer = random.randint(1, 3)
# if 1 <= user <= 3:
# if user == computer:
# print(f"用户输入的是:{li[user - 1]},电脑输入的是:{li[computer - 1]},平局!")
# elif (user - computer == -1) or (user - computer == 2):
# print(f"用户输入的是:{li[user - 1]},电脑输入的是:{li[computer - 1]},用户胜!")
# else:
# print(f"用户输入的是:{li[user - 1]},电脑输入的是:{li[computer - 1]},电脑胜!")
# elif user == 4:
# print("游戏结束")
# break
# else:
# print("您输入的不是1~4之间的整数值,请重新输入!")
2、第二题
通过定义一个计算器,允许程序提示用户输入数字1,数字2,然后再提示用户选择 :
加【1】 减【2】 乘【3】 除【4】,
根据不同的选择完成不同的计算 ,然后打印结果
# li = ["加", "减", "乘", "除"]
# while True:
# a = int(input("请输入数字1:"))
# a1 = int(input("请输入数字2:"))
# b = int(input("请选择运算符(加(1) 减(2) 乘(3) 除(4)): "))
# if b == 1:
# print(f"{a}{li[b - 1]}{a1}等于{a + a1}")
# elif b == 2:
# print(f"{a}{li[b - 1]}{a1}等于{a - a1}")
# elif b == 3:
# print(f"{a}{li[b - 1]}{a1}等于{a * a1}")
# elif b == 4:
# print(f"{a}{li[b - 1]}{a1}等于{a / a1}")
# break # 终止程序
3、第三题:请获取下面字典数据中的token,和reg_name
# data = {
# "code": 0,
# "msg": "OK",
# "data": {
# "id": 74711,
# "leave_amount": 29600.0,
# "mobile_phone": "13367899876",
# "reg_name": "小柠檬666",
# "reg_time": "2019-12-13 11:12:53.0",
# "type": 0,
# "token_info": {
# "token_type": "Bearer",
# "expires_in": "2019-12-30 22:28:57",
# "token": "eyJhbGciOiJIUzUxMiJ9.eyJtZW1iZXJfaWQiOjc0NzExLCJleHAiOjE1Nzc3MTYxMzd9.eNMtnEWr57iJoZRf2IRsGDWm2GKj9LZc1J2SGRprAwOk7EPoJeXSjJwdh0pcVVJygHmsbh1TashWqFv1bvCVZQ"
# }
# },
# "copyright": "Copyright 柠檬班 © 2017-2019 湖南省零檬信息技术有限公司 All Rights Reserved"
# }
#
# token = data["data"]["token_info"]["token"]
# print(f"token:{token}")
#
# reg_name = data["data"]["reg_name"]
# print(f"reg_name:{reg_name}")
第4题:当前有一个列表
li = [1, 21, 33, 221, 432, 121, 44, 21, 22, 44, 1, 221], 请完成如下要求!
# 1、请先去除列表中的重复元素
# li = [1, 21, 33, 221, 432, 121, 44, 21, 22, 44, 1, 221]
# li1 = set(li)
# print(list(li1))
#2、对去重后的列表进行升序排序
# li2 = list(li1)
# li2.sort()
# print(li2)
3、遍历排序后列表,将元素为偶数的元素,添加到一个新列表中
# li3 = []
# for i in li2:
# if i % 2 == 0:
# li3.append(i)
# print(li3)
第5题、运行程序,提示用户依次输入三个整数x, y, z,请把这三个数由小到大输出。
x = int(input("请输入一个整数x:"))
y = int(input("请输入一个整数y:"))
z = int(input("请输入一个整数z:"))
li = []
li.extend([x,y,z])
li.sort()
tu = tuple(li)
a,b,c = tu
print(f"从小到大排序为:{a} {b} {c}")
第6题、编写一个程序,使用for循环输出0 - 100(包括0和100)之间的偶数
for i in range(101):
if i % 2 == 0:
print(f"输出的偶数为:{i}")
第7题、当前有一个字典{“a”: 1, “b”: 22, “c”: 3, “d”: 4, “e”: 5},
请修改字典中所有键值对的值,新的值为原来的值乘10
dic = {"a": 1, "b": 22, "c": 3, "d": 4, "e": 5}
li = []
for i in dic.values():
# print(i)
value = i * 10
li.append(value)
# print(li)
for l in dic.keys():
# print(l)
for m in li:
dic[l] = m
print(dic)
改:(其他人的方法)
dic = {"a": 1, "b": 22, "c": 3, "d": 4, "e": 5}
for i in dic.keys():
dic[i] = dic[i] * 10
print(dic)
改:(其他人的方法)
dict7 = {"a": 1, "b": 22, "c": 3, "d": 4, "e": 5}
print('原始字典为:', dict7)
for k, v in dict7.items():
dict7[k] = v * 10
print('修改后的字典为:', dict7)