Python 学习之 --- 语法部分(条件语句(if),循环语句(while、for、continue、break、pass))

16 篇文章 0 订阅
1 篇文章 0 订阅

1. 条件语句

Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。
下图概括了条件语句的执行过程:
在这里插入图片描述
Python 中的条件判断主要通过 if 语句来实现。

color="red"

if (color=="green"):
   print("可以通行")
if (color=="red"):
   print("不能通行")
if (color=="yellow"):
   print("需要减速")
print("试试,python层级和缩进有关")

#----------------------------#
if color==" ":
   pass   #如果没有判断内容,需要写个 pass 占位。如果结构体中有内容也有 pass,pass 可以忽略。
print("空格")

#----------------------------#
color="green"

if (color=="red"):
   print("stop")
else:
   print("go")

#----------------------------#
color="green"
if color=="green":
   print("go")
elif color=="red":
   print("stop")
elif color=="yellow":
   print("slow")
else:
   pass
print("判断结束")

#----------------------------#
carType=input("请输入车的类型:")
lightColor=input("请输入灯颜色:")
if carType in ("jiuhu","jingche","jiuhuo"):
	print("特殊车辆直接通行")
else:
	if lightColor=="green":
		print("go")
	elif lightColor=="red":
		print("stop")
	elif lightColor=="yellow":
		print("slow")
	else:
		print("randomaction")
print("判断结束")

#----------------------------#
score=int(input("请输入分数:"))
if score<60:
   print("不及格")
elif score>=60 and score<75:
   print("及格")
elif score>=75 and score<90:
   print("良好")
else:
   print("优秀")

2. 循环语句

2.1 概述

编程语言提供了各种控制结构,允许更复杂的执行路径。循环语句允许我们执行一个语句或语句组多次,下面是在大多数编程语言中的循环语句的一般形式:
在这里插入图片描述
Python 提供了 for 循环和 while 循环(在 Python 中没有 do…while 循环)

循环类型描述
while 循环在给定的判断条件为 true 时执行循环体,否则退出循环体。
for 循环重复执行语句
嵌套循环你可以在while循环体中嵌套for循环

循环控制语句可以更改语句执行的顺序。Python 支持以下循环控制语句:

控制语句描述
break 语句在语句块执行过程中终止循环,并且跳出整个循环
continue 语句在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。
pass 语句pass是空语句,是为了保持程序结构的完整性。

2.2 while 循环

Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。其基本形式为:

while 判断条件(condition):
    执行语句(statements)……
#若判断条件为 True,代表无限循环

示例:

a=1
while a<=50:
   print("打印第"+str(a)+"份试卷")
   a+=1
#----------#
a=1
while True:
	print("打印第"+str(a)+"份试卷")
	a+=1
	if a==51:break   
#----------#
#根据输入来判断,如果及格了就结束考试,如果不及格就重新考试
a=int(input("请输入数字:"))
while a>=0:
   if a>=60:
      print("结束考试")
      break
   else:
      print("重新考试")
      break
#----------#
#根据输入来判断,如果及格了就结束考试,如果不及格就重新考试
while True:
   a=int(input("请输入分数:"))
   if a>=60:
      print("退出考试,分数为:"+str(a))
      break
   else:
      print("不及格继续考试,"+"当前分数为:"+str(a))
      continue
#----------#
while True:
   a=int(input("请输入温度:"))
   if a>35 or (a>=-20 and a<5):
      print("请打开空调,"+"当前温度为:"+str(a))
      break
   elif a>=5 and a<=35:
      print("温度适宜,无需开空调,"+"当前温度为:"+str(a))
      break
   elif a<-20:
      break
#----------#
while True:
   temp=int(input("请输入外界温度:"))
   if temp<-20:
      print("太冷了,空调冻住了")
      break
   elif temp>=5 and temp<=35:
      print("温度适宜,不需要开空调")
   else:
      print("温度不太适合,需要开空调")
print("程序结束!")

2.3 for 循环

Python for 循环可以遍历任何序列的项目,如一个列表或者一个字符串。
for 循环的语法格式如下:

for iterating_var in sequence:
   statements(s)

示例:

for i in range(51):
   print("第"+str(i)+"份试卷打印")
#----------#
for i in [1,2,3,4,5]:
   print(i)
#----------#
a=(1,2,3,4,5)
for i in a:
   print(i)
#----------#
#鸡兔同笼,40只鸡和兔子,120只脚,求鸡和兔的数量
#假设有 x 只鸡,40-x 只兔
for x in range(41):
   b=40-x
   c=2*x+4*b
   if c==120:
      print("鸡的数量为:"+str(x))
      print("兔子的数量为:"+str(40-x))

2.4 break 与 continue

  • break 语句用来结束当前整个循环(从当前循环的本次执行就结束)
  • continue 语句用来跳过当前循环的本次执行(下一次执行继续)

示例:

for i in range(5):
	print("-----")
	print(i) 
 #----------#
 for i in range(5):
   i+=1
   print("-----")
   if i==3:
      break
   print(i) 
 #----------#
for i in range(5):
   i+=1
   print("-----")
   if i==3:
      continue
   print(i) 
#----------#
for i in range(5):
   i+=1
   print("-----")
   #if i==3:
   #break
   continue
   print(i)

2.5 pass 语句

Python pass 是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。

示例:

#!/usr/bin/python
# -*- coding: UTF-8 -*- 
 
# 输出 Python 的每个字母
for letter in 'Python':
   if letter == 'h':
      pass
      print '这是 pass 块'
   print '当前字母 :', letter
 
print "Good bye!"

#结果
当前字母 : P
当前字母 : y
当前字母 : t
这是 pass 块
当前字母 : h
当前字母 : o
当前字母 : n
Good bye!

3. 多重循环

#单循环打印矩形
for i in range(5):
   print("* * * * *")

#双重循环打印矩形( print()换行,end=''不换行 )
for i in range(5):    #外层循环控制行
   for j in range(5):    #内层循环控制列
      print("* ",end='')
   print()
#打印直角三角形
##直角在左下
for x in range(5):
   for y in range(x+1):
      print("* ",end='')
   print()

##直角在左上
for x in range(5):
   for y in range(5-x):
      print("* ",end='')
   print()

##直角在右上
def num(n):
    for i in range(1,n+1):
        for j in range(1,n+1):
            if j<i:
                print(' ',end=' ')
            else:
                print('*',end=' ')
        print()
num(5)

##直角在右下
def num(n):
    for i in range(1,n+1):
        for j in range(1,n+1):
            if i+j<=n:
                print(' ',end=' ')
            else:
                print('*',end=' ')
        print()
num(5)
#等腰三角形
for x in range(5):
   for y in range(4-x):
      print(" ",end='')
   for y in range(2*x+1):
      print("*",end='')
   print()
#打印菱形
for x in range(5):
   for y in range(4-x):
      print(" ",end='')
   for y in range(2*x+1):
      print("*",end='')
   print()
for x in range(5):
   for y in range(x+1):
      print(" ",end='')
   for y in range(7-x*2):
      print("*",end='')
   print()
#打印素数
lower = int(input("输入区间最小值: "))
upper = int(input("输入区间最大值: "))

for num in range(lower, upper + 1):
    # 素数大于 1
    if num > 1:
        for i in range(2, num):
            if (num % i) == 0:
                break
        else:
            print(num)
#----------------------------------
for x in range(2,101):
    for y in range(2,x+1):
        if x%y==0 and x!=y:    #如果 x 有除了自己以外的因数,则 x 不是素数
            break
        if x==y:
            print("素数:"+str(x))
            break
#求水仙花数
for i in range(100,1000):
	a=int(i%10)
	b=int((i%100)/10)
	c=int(i/100)
	if a*a*a+b*b*b+c*c*c==i:
		print(i)
#分解质因数:https://www.pianshen.com/article/962070061/
num=int(input("请输入一个正整数:"))
son=2
print(str(num)+"=",end='')
while num!=son:
   if num%son==0:
      num/=son
      print(str(son)+"*",end='')
   else:son+=1
print(son)
#计算和数,例如输入 3,值为 3+33+333
a=int(input("请输入一个数字:"))
n=a
sum=0
for x in range(a):
   sum+=n
   n=n*10+a
print(sum)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值