Python(while,for)语句

爷,独闯天下 提交于 2020-01-17 04:16:34

循环语句

循环结构是结构化程序设计中很重要的结构,它和顺序结构、选择结构都是各种复杂程序的基本结构。循环结构的特点是:在给定条件成立的情况下反复执行某程序段,直到条件不成立为止。
语句基本格式:

while condition:#满足时执行循环,不满足则跳出循环

直接说例子吧!今天学的…hhhh
循环输出1-10:

i = 0
while i<=9:#i<=9时会执行循环体内
  i +=1#等效于i+1=i 
  print(i)

计算1-100的和:

he = 0#利用for循环遍历每个t再输出
for t in range(1,101):
  he += t
print(he)

he = 0#利用while稍微多一点
i = 1
while i<101:
  he += i
  i += 1
print(he)

计算输入的数并跳出循环:

he = 0
i = 1
flag = True
while flag:
  i = int(input("请输入一个数:"))
  he += i
  if he>1000:
    flag = False
print(he)   #利用标志位跳出循环

he = 0
i = 1
while True:
  i = int(input("请输入一个数:"))
  he += i
  if he>1000:
    break
print(he)    #利用break跳出循环

判断数字的奇偶性:

while True:
  number = int(input("请输入一个数:"))
  if number==0:#输入0时会结束循环
    break
  elif number%2==0:#取模 余数为0
    print("你输入的是一个偶数!!!")
  else:
    print("你输入的是一个奇数!!!")

列表的遍历:

l = ['ll','hhh','ss','mm']
##for t in l:#for循环遍历
##  print(t)
t=0
while t<=len(l)-1:#列表长度控制
  print(l[t])
  t+=1    #做完一步之后需要加一

字典的遍历:

l = {'name':'ll','id':'2','sex':'men','age':'22'}
t = 0
while t<len(list(l.keys())):#取key放入列表,列表长度控制循环
  key = list(l.keys())[t]#相当于遍历列表
  value = l[key]#通过key访问字典
  print(key,value)
  t += 1     #做完一步之后需要加一

利用循环转移列表:

li = ['zhangsan' , 'lisi' , 'wangwu' , 'zhaoliu']
new = []
while li:#当li列表中数据不为空执行循环
  new.append(li.pop())#弹出li列表中的数据并添加到new列表
print(li)
print(new)

利用循环移除列表中的某个值:

li = ['zhangsan' , 'lisi' , 'wangwu' , 'zhaoliu' , 'lisi']
while 'lisi' in li:#移除之前先判断该值是否存在
  li.remove('lisi')#存在执行,不存在循环结束
print(li)

利用循环给字典添加元素:

dic = {}#定义一个空字典;
while True:
  key = input("请输入键值对的键:")
  value = input("请输入键值对的值:")
  dic[key]=value#把键值对添加进字典中
  over = input("你是否还要继续程序呢?(yes/no)")
  if over=="no":
    break#退出循环
print(dic)

利用for循环打印九九乘法表:

for t in range(1,10):#当t=1,内层循环执行一次,且不换行
  for i in range(1,t+1):
    print(t,'*',i,'=',t*i,end=' ')
  print()#外层循环执行完一遍了之后换行

判断一个数是否为质数:

n = int(input("请输入一个大于一的整数:"))#1既不是质数也不是合数
number = True
for t in range(2,n):
  if n%t==0:
    number=False
    break#结束循环
if True:#若正确则输出
  print(n,"不是质数!!")
else:
  print(n,"是质数!!")

打印水仙花数(水仙花数:指一个三位数,各个位数字的立方和等于该数本身。)

li = []#定义一个空列表
for t in range(100,1000):
  gewei = t%10#直接和10取余
  shiwei = int((t/10)%10)#先除以10再跟10取余
  baiwei = int(t/100)#除以100取整
  if t == (gewei**3+shiwei**3+baiwei**3):
    li.append(t)#如果满足则将满足的数加入列表li中

计算阶乘:

res = 1
for t in range(1,11):
  res *= t
print(res)#10!

he = 0
for t in range(1,21):
  res = 1
  for i in range(1,t+1):
    res *=i
  he +=res#计算1-20的阶乘之和
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!