python学习记录6
(1)循环嵌套
可以将一个循环语句所属的语句块也可以是一个完整的一个循环语句,一般嵌套不应该超过3层。
嵌套可以是while-while、for-for,也可以是while-for。
基本图形输出:正方形,直角三角形
#输入一个数字n,打出一个n*n的实心正方形
n = eval(input())
N = n
while n>0 :print('*'*N)n -=1
#输入一个数字n,打出n*n的空心正方形
n = eval(input())
N = n
S = n-2
print('*'*N)
while n-2>0:n -= 1print('*'," "*S,'*',sep="")
print('*' * N)
#输入一个数字n打出高为n底为n的实心直角三角形
n = eval(input())
s = 1
while n>0:print('*'*s)s+=1n-=1
#输入一个数字n打出高为n底为n的空心直角三角形
n = eval(input())
s = 1
N = n
while n-1>0 :if s<=2 :print('*'*s)else :print('*'," "*(s-2),'*',sep = '')n-=1s+=1
print('*'*N)
嵌套循环图形输出:长方形、平行四边形、菱形
#输出一个长为n,宽为m的实心长方形
n = eval(input('请输入长方形的长:'))
m = eval(input('请输入长方形的宽:'))
for i in range(0,m):for j in range(0,n):print('*',end = "")print()
#输出一个长为n,宽为m的空心长方形
n = eval(input('请输入长方形的长:'))
m = eval(input('请输入长方形的宽:'))
for i in range(0,m):for j in range(0,n):if i==0 or i ==m-1 :print('*',end = "")else:if j==0 or j==n-1 :print("*",end = "")else:print(" ",end = "")print()
#输出一个长为n,高为m的实心平行四边形
n = eval(input('请输入平行四边形的长'))
m = eval(input('请输入平行四边形的高'))
s = m
for i in range(0,m):print(" "*s,end="")s -= 1for j in range(0,n):print("*",end = "")print()
#输出一个长为n,高为m的空心平行四边形
n = eval(input("请输入平行四边形的长"))
m = eval(input("请输入平行四边形的高"))
s = m
for i in range(0,m):print(" "*s,end = "")for j in range(0,n):if i==0 or i==m-1:print('*',end = '')else:if j==0 or j==n-1:print("*",end ="")else:print(" ",end = "")s-=1print()
#输入x,输出x个长对称轴长度为2n,短对称轴长度为2m的实心菱形
x = eval(input("请输入需要输出的菱形个数:"))
n = eval(input("请输入长对称轴长度"))
m = eval(input("请输入短对称轴长度"))
s = m-1
t = m
while x>0:for i in range(0,n):print(" "*s,end="")s-=1for j in range(t-1,m):print('*',end ="")t -=2print()print("*"*(2*m-1),end="")print()s=1t=1for i in range(0,n):print(" "*s,end="")s+=1for j in range(0,2*(m-t)-1):print('*',end ="")t +=1print()print()x-=1s = m-1t = m
(2)循环跳出
break语句
break语句经常与if语句一起使用。在循环中使用break语句可以使某个变量在满足if设定的某种条件过后(if语句结果为True)结束循环,此时的循环拓展语句else不会执行。若不满足条件则继续循环。
#输入一个字符,查找字符串里是否含有该字符
print("请输入任意字符串:")
s =input()
print("你想要查找的字符")
x = input()
i = 0
l = len(s)-1
for i in range(0,l+1):if x==s[i]:print("字符串里有该字符")break
else:print("字符串里没有字符串")
continue语句
与break语句类似,continue语句也经常与if使用。continue用于while语句,其作用与break语句的区别是break是当某种变量满足if语句设定的某种条件过后不再执行之后的语句块,此时循环不会终止,而是回到循环变量语句的判断中执行下一次循环。
#输入1-100中所有偶数的和
s = 0
for i in range(1,11):if i%2!=0:continueelse:s +=i
print(s)
(3)空语句pass
pass语句属于占位符,占位符作用是在一些分支语句、循环语句以及函数定义时将结构所属的某个语句进行占位,占位的意思就是psss语句本身没有意义,但可以使得语法结构完整从而不报错。它与continue语句的区别就是continue是跳过本次循环,continue是有意义的;而pass是一个无意义的语句。
s = 0
for i in range(1,11):if i%2!=0:passelse:s +=i
print(s)
#输出10到100的偶数和
s = 1
while s<10:s+=1pass
while s>=10:s +=1if s%2==0:s+= selse:continueif s>=100:break
print(s)