python学习记录6

(1)循环嵌套

可以将一个循环语句所属的语句块也可以是一个完整的一个循环语句,一般嵌套不应该超过3层。

嵌套可以是while-while、for-for,也可以是while-for。

基本图形输出:正方形,直角三角形

python 复制代码
#输入一个数字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 -= 1
    print('*'," "*S,'*',sep="")
print('*' * N)
#输入一个数字n打出高为n底为n的实心直角三角形
n = eval(input())
s = 1
while n>0:
    print('*'*s)
    s+=1
    n-=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-=1
    s+=1
print('*'*N)

嵌套循环图形输出:长方形、平行四边形、菱形

python 复制代码
#输出一个长为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 -= 1
    for 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-=1
    print()
#输入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-=1
        for j in range(t-1,m):
            print('*',end ="")
        t -=2
        print()
    print("*"*(2*m-1),end="")
    print()
    s=1
    t=1
    for i in range(0,n):
        print(" "*s,end="")
        s+=1
        for j in range(0,2*(m-t)-1):
            print('*',end ="")
        t +=1
        print()
    print()
    x-=1
    s = m-1
    t = m

(2)循环跳出

break语句

break语句经常与if语句一起使用。在循环中使用break语句可以使某个变量在满足if设定的某种条件过后(if语句结果为True)结束循环,此时的循环拓展语句else不会执行。若不满足条件则继续循环。

python 复制代码
#输入一个字符,查找字符串里是否含有该字符
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语句设定的某种条件过后不再执行之后的语句块,此时循环不会终止,而是回到循环变量语句的判断中执行下一次循环。

python 复制代码
#输入1-100中所有偶数的和
s = 0
for i in range(1,11):
    if i%2!=0:
        continue
    else:
        s +=i
print(s)

(3)空语句pass

pass语句属于占位符,占位符作用是在一些分支语句、循环语句以及函数定义时将结构所属的某个语句进行占位,占位的意思就是psss语句本身没有意义,但可以使得语法结构完整从而不报错。它与continue语句的区别就是continue是跳过本次循环,continue是有意义的;而pass是一个无意义的语句。

python 复制代码
s = 0
for i in range(1,11):
    if i%2!=0:
        pass
    else:
        s +=i
print(s)
#输出10到100的偶数和
s = 1
while s<10:
    s+=1
    pass
while s>=10:
    s +=1
    if s%2==0:
        s+= s
    else:
        continue
    if s>=100:
        break
print(s)
相关推荐
小蜗笔记3 分钟前
在Python中实现多目标优化问题(7)模拟退火算法的调用
开发语言·python·模拟退火算法
我感觉。6 分钟前
【信号与系统第五章】13、希尔伯特变换
学习·dsp开发
TANGLONG2227 分钟前
【C语言】数据在内存中的存储(万字解析)
java·c语言·c++·python·考研·面试·蓝桥杯
知识分享小能手22 分钟前
mysql学习教程,从入门到精通,SQL 修改表(ALTER TABLE 语句)(29)
大数据·开发语言·数据库·sql·学习·mysql·数据分析
魏大橙24 分钟前
Fastjson反序列化
开发语言·python
立黄昏粥可温38 分钟前
Python 从入门到实战34(实例2:绘制蟒蛇)
开发语言·python
冰榫1 小时前
9.30学习记录(补)
学习
柚乐果果1 小时前
数据分析实战简例
java·大数据·python
霸王蟹1 小时前
Vue3 项目中为啥不需要根标签了?
前端·javascript·vue.js·笔记·学习
luthane1 小时前
python 实现djb2哈希算法
python·算法·哈希算法