2018年6月15日【Python学习笔记】

2018-06-19  本文已影响0人  SlashLife

一、break

break是一个让循环提前结束的关键字
如果在for循环中或者while中遇到了break,那么循环就在break的位置结束。
结束后程序执行循环后边的代码

练习:在1000-9999中找到第一个能被13整除的数

  for x in range(1000,10000):
      if x %13 == 0:
          print(x)
          break

print('循环结束')

  for x in range(1,100):
      if x == 50:
          break   #在这个地方结束循环,直接跳出循环执行后面的语句
      print(x)  #打印的是1到49
用while循环实现:不断地让用户输入数字,直到用户输入的数字是0为止。最后打印之前输入的数的和
input函数:程序执行到input函数的时候,程序就会停下来,等用户从键盘输入并且以回车结束,然后才会往下执行
  sum1=0
  while True:
      num = int(input(">>>"))   #获取键盘输入的内容,并且转换成int类型
      sum1 += num   #将当次输入的数字加起来
      if num == 0:   #判断输入的数字是否是0,如果是就让循环结束
          break      #注意:break 只能写在循环中
      print(num)
  print(sum1)

for循环和while循环的选择:
for循环的特点:次数确定,可以在序列中重复的取数据
while循环:可以解决循环次数不确定的

练习:
猜数字:随机生成一个整数。用户输入数字。如果用户输入的数字大于这个随机数就提示:“大了”,
如果用户输入的数小于随机数就提示“小”了。直到用户输入的数和随机数的大小一样,游戏结束

产生随机数:random模块是python内置的用来产生随机的数的模块,里面提供很多产生随机数的函数
randint(m,n):产生一个m到n的随机整数

  import random
  num = random.randint(0,100) #产生一个0-100的随机数
  count = 0
  while True:
      count += 1
      n = int(input('请输入一个数'))
      if n > num:
          print('输入太大了,我都崩溃了')
      elif n<num:
          print('输入太小了,大胆猜')
      elif n == num:
          print('游戏结束,3秒后自动爆炸')
          if count > 7:
              print('智商欠费请充值!')
          elif count < 3:
              print('天才')
          else:
              print('平庸之辈')
          break

2.continue:结束当前循环,进入下次循环

  for x in range(1,10):
      print('=')
      continue   #遇到continue就不在执行循环体后面的内容,直接进入下一次循环的判断
      print(x)

求1-100中所有奇数的和
x=1 sum1=1
x=2
x=3 sum1=1+3
x=4
x=5 sum1=1+3+5
.
.
.

  sum1=0
  for x in range(1,100):
      if x % 2 == 0:
          continue
      sum1 += x
  print(sum1)

打印100-999中十位数上不是3的所有的数

  for x in range(100,1000):
      if x // 10 % 10 == 3:
            continue
      print(x)

统计输入的数字中偶数的个数。如果输入0,就结束。(必须使用continue)

  while True:
      sum1=0
      num=int(input('请输入一个数:'))
      if num == 0:
          continue
          if num % 2==0:
              sum1+=1
      print(sum1)

  flag = True
  count = 0
  while flag:
      inputtavlue=int(input('>>>'))
      if inputtavlue % 2 == 1:
          continue
      if inputtavlue == 0:
          flag=False
      count += 1
  print(count)

在python中循环语句后面可以加else语句,这个else语句会在循环结束后执行

for 变量 in 序列:
循环体
else:
循环结束后执行的语句块

1234....10

  sum1=1
  for x in range(1,11):
      sum1 *= x
  else:
      print(sum1)
注意:如果在循环中使用break,那么else语句不会执行!(continue不存在这问题)

1234....10
当成绩大于10000就不在继续乘

  sum1=1
  for x in range(1,11):
      if sum1 * x > 10000:
          break
      sum1*=x
  else:
      # print(sum1,x)    #循环中如果执行了break,那么else中的语句就不会执行
      pass
  print(sum1,x)

再循环体里面可以有其他的循环语句

for 变量 in 序列:
for 变量1 in 序列2:
循环体2
其他循环语句

for 变量 in 序列:
其他的循环语句
while条件语句:
循环体2
其他循环语句

while 条件语句1:
其他的循环语句
while 条件语句2:
循环体2
其他的循环语句2

.。。。。

如果n=5 打印:
1
12
123
1234
12345

  n=5
  for x in range(1,n+1):
      for y in range(1,x+1):
          print(y,end='')
# x控制是第几行,y控制的是获取当前行里的所有的数值
# 一行结束换行
      print()

  n=5:打印
  *****
  ****
  ***
  **
  *


  n=5
  for x in range(1,n+1):
      for y in range(1,n+1):
          if x<=y:
              print('*',end='')
          else:
              print('',end='')
      print()
上一篇下一篇

猜你喜欢

热点阅读