1, for循环
在控制台打印你好世界 10遍
for i in range(10):
print("你好,世界!")
执行次数=序列中元素的个数
循环内容
range(起始值,结束值-不包含,步长-默认1) 等差数列
for i in range(4,10,2):
print(i)
for i in range(1,11):
print("第",i,"次打印:你好,世界!")
2,求和问题
1-100之间所有整数之和
num=0
for i in range(1,101):
num=num+i
print(num)
还款
totalMoney=0 #累计还款金额
for i in range(1,11):
totalMoney=totalMoney+12
print("第",i,"年,还款12万元!累计已还",totalMoney,"万!,还差",120-totalMoney,"万!")
print("---已还清",totalMoney,"万元!")
3,for循环遍历容器
names=["张三","李四","王五","赵六"]
直接遍历
for name in names:
print(name)
构造索引
for i in range(0,len(names)):
print(names[i])
遍历元组
scores=(67,78,68,87,92,45,69,77)
for i in range(0,len(scores)):
print(scores[i])
平均分
total=0
for score in scores:
total=total+score
print(total/len(scores))
遍历字典 只获取键
dictA={"name":"张三","age":18,"hobby":"打球"}
for x in dictA:
print(x,dictA[x])
遍历集合
setA={1,324,243,535,23}
for i in setA:
print(i)
4,循环和选择结构组合
#判断某个名字是否存在
names=["张三","李四","王五","赵六"]
key=input("请输入要查询的姓名:")
result="不存在" #保存结果
for name in names:
if name==key:
result="存在"
print(result)
计算及格率
scores=(67,78,68,87,92,45,69,77,53,89)
count=0
for score in scores:
if score>=60:
count=count+1
print(count/len(scores))
苹果打8折,其他商品不打折,求购物车总价
cart = {"apple": 25, "banana": 12, "orange": 9}
totalPrice=0
for key in cart:
name=key
price=cart[key]
if name=="apple":
price=price*0.8
totalPrice=totalPrice+price
print("购物车总价为:",totalPrice)
5,最大值最小值问题
scores=[67,78,68,87,92,45,69,77]
最高分和最低分
maxScore=scores[0]
minScore=scores[0]
for score in scores:
if score>maxScore:
maxScore=score #将更大的当前值更新为最大值
if score<minScore:
minScore=score #将更小的当前值更新为最小值
print(maxScore,minScore)
#获取最长字符串
strings=["hello","world","你好世界","你是谁?","who are you?"]
longest=len(strings[0])
result=""
for s in strings:
l=len(s)
if l>longest:
longest=l
result=s
print("最长字符串:",result,"长度:",longest)
6,while循环
i=1
while i<=10:
print("第",i,"次打印:你好,世界!")
i = i + 1
for循环适合循环次数确定的业务,可以用来遍历容器
while适合已知循环执行条件的业务
用户输入账号密码,判断是否登陆成功。 允许多次输入直到登陆成功
name="zhangsan"
pwd="12345a"
state="失败"
while state=="失败":
uName = input("请输入用户名:")
uPwd = input("请输入密码:")
if uName == name and uPwd == pwd:
state = "成功"
print("登录成功!")
else:
print("登录失败!")
7,循环嵌套
day=1
while day<=7: #外层循环
print("第",day,"天到了!")
i=1
while i<=10: #内层循环
print("第",day,"天,第",i,"次打印:你好,世界!")
i=i+1
day=day+1
#还款
totalMoney=0 #累计还款金额
for year in range(1,11):
print("-------第",year,"年到了!")
for month in range(1,13):
totalMoney=totalMoney+1
print("第",year,"年,第",month,"月,还款1万元,累计已还",totalMoney,"万元!还剩",120-totalMoney,"万元!")
#遍历多维容器
list1=[21,2,335,5,446,57,57]
list2=[22,35,4,6,656,57,77,14]
list3=[4,65,767,86,7]
listX=[list1,list2,list3]
for i in listX:
print("--------------------")
for j in i:
print(j)
8,循环中断和无限循环
for i in range(1,11):
if i==5:
print("第5年,申请了提前还款,今年不用还了!")
continue #结束当前循环
if i==6:
print("第", i, "年,还款24万元!")
continue
if i==8:
print("第", i, "年,提前还清所有贷款!")
break #终止整个循环
print("第",i,"年,还款12万元!")
无限循环
i=1
while True:
print("第",i,"次打印:你好,世界!")
i=i+1