总言:
1.循环的目的:是为了循环的做某件事情,解决代码冗余的问题。
2.for循环的次数取决于值的个数。
3.while 循环的次数取决条件是什么时候变为False或者什么时候执行break。

一、while循环
1、基本使用:
cor_name ="Bob"
cor_pwd ="56814698"
while True:
inp_name =input("请输入您的用户名: ")
inp_pwd =input("请输入您的密码: ")
if inp_name == cor_name and inp_pwd == cor_pwd:
print("用户登录成功")
else:
print("用户账号或密码错误")(存在一个问题就是输入成功他一样会让你再次输入账号密码)

2、结束while循环的方式
方式一、:把条件变成False,不会立刻结束循环,会等到把本次循环体代码都运行完毕后,
下一次循环开始重新判断条件时才会结束。
例1:
tag = True
while tag:
inp_user = input('用户名:')
inp_pwd = input('密码:’)
if inp_user == "Bob" and inp_pwd == "56814698":
print ('登陆成功')
#结束循环
tag = False
else:
print("账号或密码错误,请重新输入:")
print("其他代码")

方式二:break,只要结束本层,运行到break 就会立刻结束while循环,本次循环的后续代码都不会运行
while True:
inp_user = input('用户名:')
inp_pwd = input('密码:’)
if inp_user == "Bob" and inp_pwd == "56814698":
print ('登陆成功')
#结束循环
break
else:
print("账号或密码错误,请重新输入:")
print("其他代码")

3、死循环
while True:
print('Hello')
4、while+continue: 终止本次循环
强调1:不要在continue之后编写同级别的代码
count =0
while count <6(:# 5 < 6)
if count ==3 or count ==4:
count +=1
continue
# count+=1 # 不要写在这里,否则不会运行这一级别的代码
print(count)
count +=1

强调2: 如果不想执行本次循环之后的代码,可以用continue,但是如果本次循环本来就没有要继续运行的后续代码了,就没必要加continue了
cor_name ="Bob"
cor_pwd ="56814698"
while True:
inp_name =input("请输入您的用户名: ")
inp_pwd =input("请输入您的密码: ")
if inp_name == cor_nameand inp_pwd == cor_pwd:
print("用户登录成功")
break
else:
print("用户账号或密码错误")
# continue(这里的continue就没有必要添加了)

例1:
n =1
while n <=5:
if n ==4:
n +=1
continue
# n+=1切忌在continue同一级别之后添加代码
else:
print(n)
n +=1

例2:
while True:
inp_user = input('用户名:')
inp_pwd = input('密码:’)
if inp_user == "Bob" and inp_pwd == "56814698":
print ('登陆成功')
#结束循环
break
else:
print("账号或密码错误,请重新输入:")

break和continue区别:break是直接跳出循环,而continue是跳出这一次循环。
while + else组合
5、while循环的嵌套
语法:
while True:
while True:
while True:
break
break
break
或者:
tag = True
while tag:
while tag:
while tag:
tag = False
例1:
n = 1
i = 1
while n<= 3:
print("外层循环第%s次" %n)
while i <= 2:
print('=======>内循环第%s次' % i)
i += 1
n +=1

6、while+else
count =0
while count <6:
print(count)
if count ==3:
break
# else:
count+=1
else:
print('会在while循环正常死亡之后运行')

二、for循环
1、for循环主要用于循环取值,例如列表、字典、字符串
2、for循环循环的次数取决于值的个数
while循环循环的次数取决条件什么时候变为False或者什么时候执行break
一:基本使用
l = [1111, 222, 333, 444, 555]
i =0
while i <=4:
print(l[i])
i +=1
for x in l:
print(x)

d = {"k1":111, "k2":2222, "k3":33333}
for k in d:
print(k,d[k])
msg="hello world"

l = [["aaa", 1111], ["bbb", 2222], ["ccc", 3333]]
for x, y in l:# x,y=["aaa",1111]
print(x, y)

二:for +break
for x in [111,222,333,4444,555]:
if x ==333:
break
else:
print(x)

三:for +continue
for x in [111,222,333,4444,555]:
if x ==333:
continue
print(x)

四:for +else
for x in [111,222,333,4444,555]:
if x ==333:
break
else:
print(x)
print('=====>')

作业:
1、简述编译型与解释型语言的区别,且分别列出你知道的哪些语言属于编译型,哪些属于解释型
编译型:只需要运行一次便得到结果,且结果可以多次使用不需要再进行翻译。翻译器:编译器。例如go、c语言。
解释型:每次运行都离不开解释器。翻译器:解释器。例如shell,python语言。
2、执行 Python 脚本的两种方式是什么
答:交互式环境和脚本(文件)运行方式。
3、Pyhton 单行注释和多行注释分别用什么?
答:单行注释用#,多行注释用""" """
4、布尔值分别有什么?
答:True和False。
5、声明变量注意事项有那些?
答:
1.声明变量的大原则为见名识意。
2.在1的基础上要尽量的简短。
3.不能用汉字或者拼音。
6、如何查看变量在内存中的地址?
答:
x = 10
print(id(x))
写代码
1、实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败!
答:
cor_account = "seven"
cor_pwd = "123"
inp_account = input("请输入您的账号:")
inp_pwd = input("请输入您的密码:")
if inp_account == cor_account and inp_pwd == inp_pwd:
print("登陆成功!")
else:
print("登陆失败!")
2、实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
答:
i = 0
cor_account = "seven"
cor_pwd = "123"
inp_account = input("请输入你的账号:")
inp_pwd =input("请输入你的密码:")
while i < 3:
if cor_account != inp_account or cor_pwd != inp_pwd:
print("登陆失败!")
inp_account = input("请重新输入你的账号:")
inp_pwd = input("请重新输入你的密码:")
i += 1
else:
print("登陆成功!")
break
else:
print("卡已被锁死")
3、实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
i = 0
cor_account = ["seven","alex"]
cor_pwd = "123"
inp_account = input("请输入你的账号:")
inp_pwd =input("请输入你的密码:")
while i < 3:
if inp_account not in cor_account or cor_pwd != inp_pwd:
print("登陆失败!")
inp_account = input("请重新输入你的账号:")
inp_pwd = input("请重新输入你的密码:")
i += 1
else:
print("登陆成功!")
break
else:
print("卡已被锁死")
写代码
a. 使用while循环实现输出2-3+4-5+6...+100 的和
答:
x = 2
m = 0
while x <= 100:
if x%2 == 0:
m += x
x += 1
else:
m -= x
x += 1
print(m)
b. 使用 while 循环实现输出 1,2,3,4,5, 7,8,9, 11,12
x = 1
while x <= 12:
if x== 6 or x==10:
x += 1
continue
else:
print(x)
x += 1
c. 使用 while 循环实现输出 1-100 内的所有奇数
答:
x = 1
while x <= 100:
if x % 2 ==1:
print(x)
x += 1
else:
x += 1
d. 使用 while 循环实现输出 1-100 内的所有偶数
答:
x = 1
while x <= 100:
if x % 2 ==0:
print(x)
x += 1
else:
x += 1
现有如下两个变量,请简述 n1 和 n2 是什么关系?
n1 = 123456
n2 = n1
答:这时候n1和n2的值和id号都相同。
1、编写认证程序,可以登陆成功不同的账号密码
答:
info = {"784192462":"123","983496646":"456","434356261":"789","1165998812":"147"}
tag = True
while tag:
inp_account = input("请输入你的账号:")
if inp_account in info:
inp_pwd = input("请输入你的密码:")
if inp_pwd == info[inp_account]:
print("登陆成功!")
break
else:
print("密码错误!")
else:
print("账号错误!")
2、账号密码输错3次则退出
答:
i = 1
cor_account = "784192462"
cor_pwd = "56814698"
inp_account = input("请输入你的账号:")
inp_pwd =input("请输入你的密码:")
while i < 3:
if cor_account != inp_account or cor_pwd != inp_pwd:
print("账号或密码输入错误")
inp_account = input("请重新输入你的账号:")
inp_pwd = input("请重新输入你的密码:")
i += 1
else:
print("登陆成功")
break
else:
print("卡已被锁死")