python基础:嵌套循环及例子(打印小星星,九九乘法表)

柔情只为你懂 2022-04-02 14:09 483阅读 0赞

练习题:数字逆序输出,从控制台输入三位数,例如123逆序输出321

  1. num_str = input("请输入三位数:")
  2. num = int(num_str)
  3. a = num % 10 该数除以10取余数得到该数的个位
  4. print(a)
  5. b = num // 10 % 10 该数除以10取整然后除以10取余数得到该数的十位
  6. print(b)
  7. c = num // 100 % 10 该数除以100取整然后除以10取余数得到该数的百位
  8. print(c)
  9. d = a * 100 + b * 10 + c
  10. print(d)
  11. while嵌套循环
  12. 格式:

While 条件1 :
执行的代码1
执行的代码2
执行的代码3

  1. num = 1
  2. while num <= 3:
  3. print('当前的num值是', num)
  4. i = 1
  5. while i <= 3:
  6. print('当前i的值是', i)
  7. i += 1
  8. num += 1

打印结果是: (外层循环一次,内层循环三次)
当前的num值是 1
当前i的值是 1
当前i的值是 2
当前i的值是 3
当前的num值是 2
当前i的值是 1
当前i的值是 2
当前i的值是 3
当前的num值是 3
当前i的值是 1
当前i的值是 2
当前i的值是 3

  1. While 条件2
  2. 执行的代码1
  3. 执行的代码2
  4. 执行的代码3
  5. ......
  6. 处理条件2

处理条件1
使用嵌套循环打印小星星
while嵌套循环:
row = 1 row表示行
while row <= 5:
col = 1 col表示列
while col <= row: 动态嵌套
print(“*“, end=’’) end=‘’ 取消换行
col+=1
print() 换行
row+=1
打印出来是:
*
**
***
****
****
for嵌套循环是:

  1. # for row in range(1, 6):
  2. # for col in range(1, row + 1):
  3. # print("*", end='\t')
  4. # print()

九九乘法表:

在这里插入图片描述
while嵌套循环

  1. # while嵌套循环
  2. # i=1
  3. # while i<=9:
  4. # n=0
  5. # while n<=i:
  6. # print('{}*{}={}'.format(n,i,n*i),end='\t') end=‘' 取消换行
  7. # n+=1 \t横向制表符,让每一列对齐
  8. # print()
  9. # i+=1
  10. # for嵌套循环
  11. # for row in range(1, 10):
  12. # for col in range(1, row + 1):
  13. # print('{}*{}={}'.format(col,row, col * row), end='\t')
  14. # print()

range() 函数:作用可以产生连续的整数
一般和for循环搭配使用。
注意:包含开头不包含尾。默认从0开始产生数据
for num in range(1, 100):
print(num)
从一到99打印一遍
break和continue
break和 continue 都是终止循环语句
break 跳出循环
continue 结束本次循环
在这里插入图片描述

  1. for i in range(5):
  2. print('当前i的值是:',i)
  3. if i==2:
  4. break
  5. print('程序结束了...')

打印:
当前i的值是: 1
当前i的值是: 2
程序结束了…

  1. for i in range(5):
  2. if i == 2:
  3. continue
  4. print('当前i值为:', i)

打印:
当前i值为: 0
当前i值为: 1
当前i值为: 3
当前i值为: 4

练习2: 从控制台输入5次数据,求总和 使用for循环

  1. total = 0
  2. for i in range(1, 6):
  3. data = int(input("请输入第{}个值:".format(i)))
  4. total += data
  5. print(total)

嵌套循环中的break和continue,只对内层循环起作用

  1. row = 1
  2. while row <= 5:
  3. col = 1
  4. while col <= row:
  5. print("*", end='')
  6. if col == 3:
  7. # break
  8. continue 将在第三行陷入死循环
  9. col += 1
  10. print()
  11. row += 1

字符串是一个有序的,不可修改的,元素以引号包围的序列。
python字符串的定义:双引号或者单引号中的数据,就是字符串
快捷键: 复制 ctrl+d , 向下移动 : shift+ctrl + ↓
删除: ctrl+ y
# str1 = ‘aa’
# print(id(str1))
# str1 = ‘bb’
# print(id(str1))
# print(str1)
# 字符串可以相加
# str1 = ‘aa’
# str2 = ‘cc’
# str3 = str1 + str2
# print(str3)

  1. # 字符串的索引
  2. # 索引从0开始
  3. # name = 'tom'
  4. # ret = name[1]
  5. # print(ret)
  6. # print(name[3]) # 注意不要索引越界
  7. # len()函数可以查看内容的长度。
  8. name = 'jerry'
  9. length = len(name)
  10. print(length)

在python当中所有有序的序列都是由索引概念的,它们的区别在于序列是否可以被修改;
索引在我们初学的时候我们可以理解为字符串的下标;
字符串里的每一个个体都被称作字符也是该字符串的一个元素;
比如字符串‘while’,可以按照下图理解其下标概念,索引号从0开始;
w h i l e
0 1 2 3 4
索引的用法,取单个元素时,使用字符串[索引值] 索引值为对应元素的索引号;
a=‘while’
print(a[1]) h
print(a[0]) w

python 字符串切片
切片的语法:[起始:结束:步长]
字符串[start?step] 这三个参数都有默认值
start:默认值为0;
end : 默认值未字符串结尾元素;
step : 默认值为1;
字符串[start?step],得到对应索引范围的元素,该范围包含起始端,不包含结尾端,默认截取的方向是从左往右的;

默认步长为1切片:

  1. # s = 'hello world'
  2. # # s1 = s[0:4:1]
  3. # # print(s1) # hell
  4. # # s2 = s[1:6] # 省略了步长
  5. # # print(s2)
  6. # # s3 = s[1:6:2]
  7. # # print(s3) # el空格
  8. # # s4 = s[::] # 全部省略 hello world
  9. # # print(s4)
  10. # # s5 = s[:4] # hell
  11. # # print(s5)
  12. # s6 = s[2::]
  13. # print(s6)

反向截取,从右往左
s = ‘hello world’
s1 = s[-1:-4:-1]
print(s1) # dlr
print(s)

  1. # s3 = s[-3:-1:1]
  2. # print(s3) # rl
  3. # s4 = s[-3::]
  4. # print(s4) # rld
  5. # s5 = s[-1:-5:-1]
  6. # print(s5) # dlro
  7. # s2 = s[-3] # r 这是索引,不是切片
  8. # print(s2)
  9. # print(s[-1::-1]) # dlrow olleh
  10. # print(s[::-1]) # dlrow olleh
  11. # print(s[::-2]) # drwolh
  12. # s3 = s[-1:-3:1] #什么都没有
  13. # print(s3)

发表评论

表情:
评论列表 (有 0 条评论,483人围观)

还没有评论,来说两句吧...

相关阅读