Python【系列教程】之流程控制 if while break continue return

举报
小米粒-biubiubiu 发表于 2020/12/03 01:34:29 2020/12/03
【摘要】 一、if 分支结构 if 判断条件可以是任意的类型,当下面的值作为bool表达式时,会被解释器作为False处理 False、None、0、""、[]、()、{} s=""if s: print('s不是空字符串')else: print('s是空字符串') my_list=[]if my_list: print('不是空列表')else: print('是空...

一、if 分支结构

if 判断条件可以是任意的类型,当下面的值作为bool表达式时,会被解释器作为False处理

False、None、0、""、[]、()、{}


  
  1. s=""
  2. if s:
  3. print('s不是空字符串')
  4. else:
  5. print('s是空字符串')
  6. my_list=[]
  7. if my_list:
  8. print('不是空列表')
  9. else:
  10. print('是空列表')
  11. my_dict={}
  12. if my_dict:
  13. print('不是空字典')
  14. else:
  15. print('是空字典')
  16. # if的使用,不做任何处理的if判断分支可用pass
  17. s = input("请输入一个整数:")
  18. s= int(s)
  19. if s>5:
  20. print('大于5')
  21. elif s<5:
  22. #空语句,相当于占位符
  23. pass
  24. else:
  25. print('等于5')
  26. #断言,不满足断言则报错
  27. age = 30
  28. assert 20<age<80
  29. #while的使用
  30. count_i = 0
  31. while count_i<10:
  32. print('count',count_i)
  33. count_i+=1
  34. print('循环结束')
  35. a_tuple = ('fkit','crazy','char')
  36. i =0
  37. while i<len(a_tuple):
  38. print(a_tuple[i])
  39. i+=1
  40. src_list = [12,324,546,3423,67,234,546,23]
  41. a_list=[]
  42. b_list=[]
  43. c_list=[]
  44. while len(src_list)>0:
  45. ele=src_list.pop()
  46. if ele%3==0:
  47. a_list.append(ele)
  48. elif ele%3 ==1:
  49. b_list.append(ele)
  50. else:
  51. c_list.append(ele)
  52. print(a_list,b_list,c_list)
  53. #for循环
  54. result = 1
  55. for x in range(1,8):
  56. result*=x
  57. print(result)
  58. for x in a_list:
  59. print('当前元素',x)
  60. my_dict = {'语文':89,'数学':92}
  61. for key,value in my_dict.items():
  62. print(key,value)
  63. for key in my_dict.keys():
  64. print(my_dict[key])
  65. for value in my_dict.values():
  66. print(value)
  67. src_list = [12,324,546,3423,67,234,546,23]
  68. statist={}
  69. for x in src_list:
  70. if x in statist:
  71. statist[x]+=1
  72. else:
  73. statist[x]=1
  74. print(statist)

  
  1. #循环体使用else
  2. from builtins import print
  3. count = 0
  4. while count<5:
  5. print('count小于5',count)
  6. count+=1
  7. else:
  8. print('count大于5')
  9. """循环的else代码是块是python的一个很特殊的语法,else代码块的主要作用是便于生成更优雅的python代码"""
  10. """for循环同样可以使用else代码块,当for循环把区间、元组、或者列表的所有元素遍历一次之后,for循环会执行
  11. else代码块,在else代码块中,循环计数器的值依然等于最后一个元素的值"""
  12. a_list = [330,1.4,50,'fkit',-3.5]
  13. for ele in a_list:
  14. print('元素',ele)
  15. else:
  16. print('else元素块',ele)
  17. for i in range(0,5):
  18. j =0
  19. #内层循环
  20. while j < 3:
  21. print('i的值为:%d,j的值为:%d' % (i,j))
  22. j+=1
  23. # for表达式
  24. a_list = [x*x for x in range(10)]
  25. print(a_list)
  26. b_list = [x*x for x in range(10) if x%2 == 0]
  27. print(b_list)
  28. #for表达式生成器
  29. """如果将for表达式的方括号改为圆括号,for表达式将不再生成列表,而是生成一个生成器,该生成器同样可使用
  30. for循环迭代"""
  31. c_list = (x*x for x in range(10) if x%2 == 0)
  32. print({c_list})
  33. for i in c_list:
  34. print(i)
  35. d_list = [(x,y)for x in range(5) for y in range(4)]
  36. print(d_list)
  37. #[(0, 0), (0, 1), (0, 2), (0, 3), (1, 0), (1, 1), (1, 2), (1, 3), (2, 0), (2, 1), (2, 2), (2, 3), (3, 0),
  38. # (3, 1), (3, 2), (3, 3), (4, 0), (4, 1), (4, 2), (4, 3)]
  39. """上面代码中x是遍历range(5)的计数器,因此x可迭代5次,y是遍历range(4)的计数器,因此该y可以迭代4次,因此
  40. (x,y)表达式一共会迭代20次"""
  41. e_list = [(x,y,z) for x in range(5) for y in range(4) for z in range(6)]
  42. #e_list列表包含120个元素
  43. print(e_list)
  44. src_a = [30,12,66,34]
  45. src_b = [3,5,7,11]
  46. #只要y能整除x,就配对在一起
  47. result =[(x,y) for x in src_b for y in src_a if y%x ==0]
  48. print(result)
  49. #常用的工具函数
  50. """zip()函数将两个列表压缩成一个列表,也可以将三个列表压缩成一个列表"""
  51. kl = [x for x in zip(src_a,src_b)]
  52. print(kl) #[(30, 3), (12, 5), (66, 7), (34, 11)]
  53. """reversed()函数反转序列"""
  54. a_list = [x for x in reversed(range(10))]
  55. print(a_list)
  56. """sorted()函数序列排序"""
  57. print(sorted(src_a))
  58. """sorted函数"""
  59. my_list = ['qwbe','qw','kqwkeqn','asdbd']
  60. for s in sorted(my_list,key=len):
  61. print(s)
  62. """break控制循环"""
  63. def test():
  64. for i in range(10):
  65. print('asdasd',i)
  66. for j in range(10):
  67. if j==1:
  68. return
  69. print("return后的输出语句")
  70. test()

 二、数字转人民币读法demo


  
  1. """数字转人民币读法"""
  2. def divide(num):
  3. integer = int(num)
  4. fraction = round((num - integer) * 100)
  5. return (str(integer), str(fraction))
  6. han_list = ['零', '壹', '貳', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
  7. unit_list = ["十", "百", "千"]
  8. def four_to_hanstr(num_str):
  9. result = ""
  10. num_len = len(num_str)
  11. for i in range(num_len):
  12. num = int(num_str[i])
  13. if i != num_len - 1 and num != 0:
  14. result += han_list[num] + unit_list[num_len - 2 - i]
  15. else:
  16. result += han_list[num]
  17. return result
  18. def integer_to_str(num_str):
  19. #获取整数的长度
  20. str_len = len(num_str)
  21. #如果长度大于12
  22. if str_len > 12:
  23. print('数字太大,翻译不了')
  24. return
  25. elif str_len>8:
  26. return four_to_hanstr(num_str[:-8])+"亿"+ \
  27. four_to_hanstr(num_str[-8:-4]) +"万"+ \
  28. + four_to_hanstr(num_str[-4:])
  29. # 如果大于4位,包含单位‘万’
  30. elif str_len>4:
  31. return four_to_hanstr(num_str[:-4])+"万"+\
  32. four_to_hanstr(num_str[-4:])
  33. else:
  34. return four_to_hanstr(num_str)
  35. num=float(input("请输入一个浮点数:"))
  36. integer,fraction = divide(num)
  37. print(integer,fraction) #整数部分,小数部分
  38. print(integer_to_str(integer))
  39. print(fraction)

三、九九乘法表


  
  1. for i in range(1,10):
  2. for j in range(1,i+1):
  3. print("%2d * %2d = %2d" % (j, i, i * j), end = " ")
  4. print()

 

文章来源: blog.csdn.net,作者:血煞风雨城2018,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_31905135/article/details/100081891

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。