Python语法基础——循环结构

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值