python基础:嵌套循环及例子(打印小星星,九九乘法表)
练习题:数字逆序输出,从控制台输入三位数,例如123逆序输出321
num_str = input("请输入三位数:")
num = int(num_str)
a = num % 10 该数除以10取余数得到该数的个位
print(a)
b = num // 10 % 10 该数除以10取整然后除以10取余数得到该数的十位
print(b)
c = num // 100 % 10 该数除以100取整然后除以10取余数得到该数的百位
print(c)
d = a * 100 + b * 10 + c
print(d)
while嵌套循环
格式:
While 条件1 :
执行的代码1
执行的代码2
执行的代码3
num = 1
while num <= 3:
print('当前的num值是', num)
i = 1
while i <= 3:
print('当前i的值是', i)
i += 1
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
While 条件2 :
执行的代码1
执行的代码2
执行的代码3
......
处理条件2
处理条件1
使用嵌套循环打印小星星
while嵌套循环:
row = 1 row表示行
while row <= 5:
col = 1 col表示列
while col <= row: 动态嵌套
print(“*“, end=’’) end=‘’ 取消换行
col+=1
print() 换行
row+=1
打印出来是:
*
**
***
****
****
for嵌套循环是:
# for row in range(1, 6):
# for col in range(1, row + 1):
# print("*", end='\t')
# print()
九九乘法表:
while嵌套循环
# while嵌套循环
# i=1
# while i<=9:
# n=0
# while n<=i:
# print('{}*{}={}'.format(n,i,n*i),end='\t') end=‘' 取消换行
# n+=1 \t横向制表符,让每一列对齐
# print()
# i+=1
# for嵌套循环
# for row in range(1, 10):
# for col in range(1, row + 1):
# print('{}*{}={}'.format(col,row, col * row), end='\t')
# print()
range() 函数:作用可以产生连续的整数
一般和for循环搭配使用。
注意:包含开头不包含尾。默认从0开始产生数据
for num in range(1, 100):
print(num)
从一到99打印一遍
break和continue
break和 continue 都是终止循环语句
break 跳出循环
continue 结束本次循环
for i in range(5):
print('当前i的值是:',i)
if i==2:
break
print('程序结束了...')
打印:
当前i的值是: 1
当前i的值是: 2
程序结束了…
for i in range(5):
if i == 2:
continue
print('当前i值为:', i)
打印:
当前i值为: 0
当前i值为: 1
当前i值为: 3
当前i值为: 4
练习2: 从控制台输入5次数据,求总和 使用for循环
total = 0
for i in range(1, 6):
data = int(input("请输入第{}个值:".format(i)))
total += data
print(total)
嵌套循环中的break和continue,只对内层循环起作用
row = 1
while row <= 5:
col = 1
while col <= row:
print("*", end='')
if col == 3:
# break
continue 将在第三行陷入死循环
col += 1
print()
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)
# 字符串的索引
# 索引从0开始
# name = 'tom'
# ret = name[1]
# print(ret)
# print(name[3]) # 注意不要索引越界
# len()函数可以查看内容的长度。
name = 'jerry'
length = len(name)
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切片:
# s = 'hello world'
# # s1 = s[0:4:1]
# # print(s1) # hell
# # s2 = s[1:6] # 省略了步长
# # print(s2)
# # s3 = s[1:6:2]
# # print(s3) # el空格
# # s4 = s[::] # 全部省略 hello world
# # print(s4)
# # s5 = s[:4] # hell
# # print(s5)
# s6 = s[2::]
# print(s6)
反向截取,从右往左
s = ‘hello world’
s1 = s[-1-1]
print(s1) # dlr
print(s)
# s3 = s[-3:-1:1]
# print(s3) # rl
# s4 = s[-3::]
# print(s4) # rld
# s5 = s[-1:-5:-1]
# print(s5) # dlro
# s2 = s[-3] # r 这是索引,不是切片
# print(s2)
# print(s[-1::-1]) # dlrow olleh
# print(s[::-1]) # dlrow olleh
# print(s[::-2]) # drwolh
# s3 = s[-1:-3:1] #什么都没有
# print(s3)
还没有评论,来说两句吧...