Python教程

python基础:while+continue while+else for循环 数据类型的内置方法

本文主要是介绍python基础:while+continue while+else for循环 数据类型的内置方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

内容概要

  • 例题讲解
  • while+continue
  • while+else
  • 死循环
  • for循环
  • 数据类型的内置方法(重点)

内容详细

例题讲解

                          # 普通要求
                          """
                          猜年龄的游戏
                              普通
                                  三次机会
                              拔高
                                  三次机会之后还可以提问并重新尝试
                          """
                          # TODO:写代码一定要先考虑代码的主体功能 之后再考虑附加的额外功能
                          # 1.先编写猜年龄主体功能
                          # 定义一个真实的年龄
                          real_age = 18
                          # 3.定义一个计数器
                          count = 1
                          # 2.先加一个循环功能
                          while count < 4:
                              # 1.1 获取用户猜测的年龄
                              guess_age = input('请输入您猜测的年龄>>>:')
                              # 1.2 简单粗略的将字符串转换成数字(可能会报错 暂时不要考虑)
                              guess_age = int(guess_age)
                              # 1.3 猜测年龄
                              if guess_age > real_age:
                                  print('猜大了')
                                  # 4.1 每次猜错都加一
                                  count += 1
                              elif guess_age < real_age:
                                  print('猜小了')
                                  # 4.1 每次猜错都加一
                                  count += 1
                              else:
                                  print('哎呀 你真棒 猜对了!!!')
                                  # 4.猜对了直接结束本层循环
                                  break
                              # 优化
                              # count += 1


                          # 拔高
                          # 1.先编写猜年龄主体功能
                          # 定义一个真实的年龄
                          real_age = 18
                          # 3.定义一个计数器
                          count = 1
                          # 2.先加一个循环功能
                          while True:
                              # 5.判断当前用户是第几次尝试
                              if count == 4:
                                  choice = input('您已经尝试了三次 是否继续(y/n)>>>:')
                                  # 5.1 判断用户输入的是y还是n
                                  if choice == 'y':
                                      # 重置count的次数
                                      count = 1
                                  else:
                                      print('下次记得再来哟')
                                      break

                              # 1.1 获取用户猜测的年龄
                              guess_age = input('请输入您猜测的年龄>>>:')
                              # 1.2 简单粗略的将字符串转换成数字(可能会报错 暂时不要考虑)
                              guess_age = int(guess_age)
                              # 1.3 猜测年龄
                              if guess_age > real_age:
                                  print('猜大了')
                                  # 4.1 每次猜错都加一
                                  count += 1
                              elif guess_age < real_age:
                                  print('猜小了')
                                  # 4.1 每次猜错都加一
                                  count += 1
                              else:
                                  print('哎呀 你真棒 猜对了!!!')
                                  # 4.猜对了直接结束本层循环
                                  break
                              # 优化
                              # count += 1

while+continue

                          # 1.使用while循环打印出0-10
                          # count = 0
                          # while count < 11:
                          #     print(count)
                          #     count += 1
                          # 2.使用while循环打印出0-10但是不打印4
                          # 1.定义一个起始变量
                          count = 0
                          # 2.循环
                          while count < 11:
                              # 5.判断 如果count为4则不打印
                              if count == 4:
                                  count += 1
                                  # 跳过本次循环 开始下一次循环
                                  continue
                              # 3.打印变量的值
                              print(count)
                              # 4.变量值自增1
                              count += 1
                           
                          """
                          continue会让循环体代码直接回到条件判断处重新判断
                          """

while+else

                       count = 0
                       while count < 5:
                            print(count)
                            count += 1
                       else:
                            print('嘿嘿嘿')  # 会执行else子代码

                       count = 0
                       while count < 5:
                           if count == 3:
                               break
                           print(count)
                           count += 1
                       else:
                           print('嘿嘿嘿')  # 不会执行else子代码
                       """
                       当while循环没有被人为中断(break)的情况下才会走else
                       """

死循环

                        while True:
                            print(1)
                        """死循环会让CPU极度繁忙 甚至奔溃"""

for循环

                          for循环能做到的事情 while循环都可以做到
                          但是for循环语法更加简洁 并且在循环取值问题上更加方便

                          name_list = ['jason', 'tony', 'kevin', 'jack', 'xxx']
                          # 循环取出列表的每一个元素并打印
                          # while实现
                          # count = 0
                          # while count < 5:
                          #     print(name_list[count])
                          #     count += 1
                          # for循环
                          for name in name_list:
                              print(name)

                          """
                          for 变量名 in 可迭代对象:  # 字符串、列表、字典、元组、集合
                              for循环体代码
                              
                          ps:变量名如果没有合适的名称 那么可以使用i,j,k,v,item等
                          """

                          # name_list = ['jason', 'tony', 'kevin', 'jack', 'xxx']
                          # 循环取出列表的每一个元素并打印
                          # while实现
                          # count = 0
                          # while count < 5:
                          #     print(name_list[count])
                          #     count += 1
                          # for循环
                          # for name in name_list:
                          #     print(name)

                          # for循环字符串
                          # for i in 'hello world':
                          #     print(i)


                          # for循环字典:默认只能拿到k
                          d = {'username': 'jason', 'pwd': 123, 'hobby': 'read'}
                          for k in d:
                              print(k, d[k])

range关键字

                  # 关键字range
                  # 第一种:一个参数  从0开始 顾头不顾尾
                  # for i in range(10):
                  #     print(i)
                  # 第二种:两个参数  自定义起始位置 顾头不顾尾
                  # for i in range(4, 10):
                  #     print(i)
                  # 第三种:三个参数  第三个数字用来控制等差值
                  for i in range(2, 100, 10):
                      print(i)

                  """
                  扩展知识
                      https://movie.douban.com/top250  第一页
                      https://movie.douban.com/top250?start=25&filter=  第二页
                      https://movie.douban.com/top250?start=50&filter=  第三页
                      https://movie.douban.com/top250?start=75&filter=  第四页
                      
                      https://movie.douban.com/top250?start=0&filter=  推测第一页
                  """
                  base_url = "https://movie.douban.com/top250?start=%s&filter="
                  for i in range(0, 250, 25):
                      print(base_url % i)
                      

                  # range在不同版本的解释器中 本质不同
                  	在python2.X中range会直接生成一个列表
                      	在python2.X中有一个xrange也是迭代器(老母猪)
                      在python3.X中range是一个迭代器(老母猪)  节省内存空间
                      '''python2.X中xrange就是python3.x里面的range'''

for+break

                    break功能也是用于结束本层循环
                    for i in range(10):
                        if i == 4:
                            break
                        print(i)

for+continue

                    continue功能也是用于结束本次循环
                    for i in range(10):
                        if i == 4:
                            continue
                        print(i)

for+else

                  else也是在for循环正常结束的情况下才会执行

                  for i in range(10):
                      if i == 4:
                          break
                      print(i)
                  else:
                      print('你追我!!!')

for循环的嵌套使用

                  # for i in range(3):
                  #     for j in range(5):
                  #         print("*", end='')
                  #     print()


                  for i in range(1, 10):
                      for j in range(1, i + 1):
                          print('%s*%s=%s' % (i, j, i * j), end=' ')
                      print()

数据类型的内置方法

                  在日常生活中不同类型的数据具有不同的功能
                  	eg:表格数据文件具有处理表格的各项功能(透视表 图形化 公式计算)
                          视频数据文件具有快进 加速等各项功能
                          ...

                  # 1.整型int
                      # 方式在代码中展示出来的效果就是  名字()
                      # 类型转换
                      # res = '123'
                      # print(type(res))
                      # res = int(res)
                      # print(type(res))
                      '''int在做类型转换的时候 只能转换纯数字'''
                      # int('123.123')  # 报错 不识别小数点
                      # int('jason123')  # 报错 不识别除数字以外的数据
						
						
                      '''int其实还可以做进制数转换'''
                      print(bin(100))  # 将十进制的100转换成二进制  0b1100100
                      print(oct(100))  # 将十进制的100转换成八进制  0o144
                      print(hex(100))  # 将十进制的100转换成十六进制  0x64
                      # 0b开头为二进制数  0o开头为八进制数  0x开头为十六进制数
                      print(int('0b1100100', 2))  # 100
                      print(int('0o144', 8))  # 100
                      print(int('0x64', 16))  # 100
                    
						
                  # 浮点型float
                   	# 类型转换
                      res = '123.23'
                      # print(type(res))
                      # res = float(res)
                      # print(type(res))
                      print(float('123'))  # 123.0
                      
						
                  # 字符串str
                  	# 类型转换
                      	print(str(123))
                          print(str(123.21))
                          print(str([1, 2, 3, 4]))
                          print(str({'name': 'jason', 'pwd': 123}))
                          print(str((1, 2, 3, 4)))
                          print(str(True))
                          print(str({1, 2, 3, 4}))
						
                      # 基本用法
                      res = 'hello world!'
                      # 1.索引取值
                      # print(res[1])  # e
						
                      # 2.切片操作  顾头不顾尾
                      # print(res[1:4])  # ell
						
                      # 3.步长操作
                      # print(res[1:10])  # ello worl
                      # print(res[1:10:2])  # el ol
					
                      # 4.索引支持负数
                      # print(res[-1])  # !  最后一位
                      # print(res[-5:-1])  # orld  顾头不顾尾
                      # print(res[-5:-1:-1])  # 方向冲突
					
                      # 5.统计字符串内部字符的个数
                      # print(len(res))  # 12
					
                      # 6.移除字符串首尾指定的字符    strip()
                      # name = '  jason  '
                      # print(name, len(name))
                      # print(len(name.strip()))  # 默认移除首尾的空格
                      # name1 = '$$jason$$'
                      # print(name1.strip('$'))  # jason
                      # print(name1.lstrip('$'))  # jason$$
                      # print(name1.rstrip('$'))  # $$jason

                      # username = input('username>>>:')
                      # username = username.strip()
                      # username = input('username>>>:').strip()
                      # if username == 'jason':
                      #     print('老板好')
                      # else:
                      #     print('去你妹的')
						
                      # 7.按照指定的字符切割字符串 split()    该方法的结果是一个列表
                      # res2 = 'jason|123|18'
                      # print(res2.split('|'))  # ['jason', '123', '18']
                      # print(res2.split('|', maxsplit=1))  # ['jason', '123|18']  maxsplit用于控制切割的次数
                      # print(res2.rsplit('|', maxsplit=1))  # ['jason|123', '18']
                      """如何查看数据类型都有哪些内置方法
                          句点符(.)
                      """	
这篇关于python基础:while+continue while+else for循环 数据类型的内置方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!