流程控制语句

while循环

while语法

while 条件:
	循环体(break,continue)

else	#只有条件不成立的时候才会执行

能够让循环退出的两个条件:1.break 2.改变条件

while后面的条件为真(true)继续执行循环 , while后面的条件为假(false)退出循环.

while循环语句解析

while :循坏的开始语句,开始循环

continue:停止当前本次循环,继续执行下一次循环,不会彻底中断循环

break:直接跳出本层循环,彻底的干掉一个循环.

while循环用法示例

while无限自动循环

while True:
    print("21")

while无限循环,content,break 退出

#喷的内容,按Q结束
while True:
    content = input("请输入你要喷的内容,按Q结束:")
    if content == "Q":
        break
    elif content == "":
        continue
    print("你对打野说:",content)

while循环三次

#输入你想问的三个问题

content = 1
while content <= 3:
    cont = input("请输入" + str(content) + "个问题:")
    print("我想问",cont)
    if content == 3:
        print("三次提问已完成")
    content = content + 1

while循环,累加运算

#while循环,计算1到100之间所有数的和

content = 1
sum = 0
while content <= 100:
    sum = sum + content  #累加运算
    content = content + 1
print(sum)

while循环打印输出

#while循环,从1数数到100.
content = 1 

while content <= 100:
    print(content)
    content = content +1

#列出 1-100的奇数

方法一:
content = 1
while content <= 100:
    print(content)
    content = content + 2

方法二:
content = 1
while content <= 100:
    if content % 2 == 1:
        print(content)
    content = content +1

猜数字游戏

import random   #随机数函数
c_choice = random.randint(1,100)  #取出1-100的随机数

while True:
    p_choice = int(input("请输入一个1-100整数:")) #用户输入数字
    if p_choice > c_choice:
        print("大了")
    elif p_choice < c_choice:
        print("小了")
    elif p_choice == c_choice:
        print("对了")
        break   #跳出循环
    else:
        print("请输入1-100的整数")

for循环

格式

for 变量  in 可迭代对象
	循环体(brake,continue)
	
	
for: 循环来遍历字符串
in: 固定的格式
可迭代对象:可以赋值字符串,列表,元组,字典

介绍

1.for循环有一个先决条件,必须是可迭代对象
2.缺点: 无法看到字符串的索引

输出10次hello

方法一		#数值
for item in range(10):
    print("hello"+str(item))
方法二		#字符串
for item in "qwertyuiop":
    print("hello"+item)

计算1,10所有整数和

sum = 0
for i in range(1,11):
    sum += i
print(sum)

计算1,10所有偶数和

osum = 0
for i in range(2,11,2):
    osum += i
print(osum)

计算1,10所有奇数和

qsum = 0
for i in range(1,11,2):
    qsum += i
print(qsum)

练习

求1+2!+3!+4!+……+10!的和.
num = 10
aa = 0
#最里层循环,计算每个数的接乘,将阶乘的结果赋值给aa,for再去用新的一个数计算阶乘,结果在赋值给aa
for i in range(1,num+1):
    sum = 1
    for q in range(1,i+1):
        sum *= q
    aa += sum
print(aa)
print(1+2*1+3*2*1+4*3*2*1+5*4*3*2*1)
斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13,特别指出:第0项是0,第1项是第一个1。从第三项开始,每一项都等于前两项之和。
计算索引为10的斐波那契数列对应的值
list2 = []
num = 10
for i in range(num + 1):
    print(i)
    if i > 1:
        list2.append(list2[i - 2] + list2[i - 1])
    else:
        list2.append(i)
print(list2)
print(list2[10])

打印小星星

(选做题)打印菱形小星星
'''
     *
    ***
   *****
  *******
 *********
***********
***********
 *********
  *******
   *****
    ***
     *
'''	
num = 11
for i in range(1,num+1,2):
    print(("*"*i).center(num," "))
for q in range(num,0,-2):
    print(("*" *q).center(num, " "))

流程控制if语句

让程序帮助我们进行判断

if

if表示如果,条件的判断
if语句是根据缩进进行存在的,根据缩进表示层级关系

elif: 否则,如果

else: 否则,条件不成立

if语句可以无限嵌套,嵌套层数不要太多,一般不要超过3~5层.嵌套层数太多就容易乱,如果超过5层,就要考虑代码的逻辑是不是有问题.

if格式

第一种

if条件:
	if语句块

第二种

if条件:
	if语句块

else条件:
	语句块

第三种

if条件:
	if语句块
	
elif条件:
	elif语句块
	
else条件:
	语句块
#当条件成立的时候执行if语句块,如果条件不成立,不执行语句块的内容

if...elif...else 如果有一个条件成立,则就会跳出if判断,有一个条件成立了,就不会执行其他的if语句了

if执行顺序

程序是丛上往下执行的,

if语句块使用示例

单层判断

money = int(input("你现在有多少钱"))
if money > 500:
    print("吃烧烤")
    print("喝啤酒")
else:
    print("吃馒头")

多层判断

money = int(input("你现在有多少钱:"))
if money > 500:
    print("火锅")
    print("啤酒")
    print("烧烤")
elif money > 400:
    print("啤酒")
    print("烧烤")
elif money > 300:
    print("麻辣烫")
    print("麻辣香锅")
else:
    print("饿着吧")

if循环嵌套

gender = input("请输入你的性别:")
if gender == "男":
    print("去隔壁")
else:
    ask = input("请问是包租婆吗?")
    if ask == "是":
        print("去隔壁")
    else:
        print("继续回答问题")
        meimu = int(input("请问你多少斤"))
        if meimu >= 120:
            print("我休息了明天吧")
        elif meimu >= 100:
            qwe = input("找我干吗?")
            if qwe == "是":
                print("请进")
            else:
                print("去隔壁")
        else:
            print("请进,我家的西瓜又大又甜")

注意缩进层次

要求如果用户输入的用户名不是Tom或者密码不是123报错“用户名或密码错误

方法1:

name = input("请输入用户名")
passwd = input("请输入密码")


if name == "tom":
    if passwd == "123":
        print("登录成功")
    else:
        print("用户名或密码错误")
else:
    print("用户名或密码错误")

方法2: and:并且
name = input("请输入用户名")
passwd = input("请输入密码")

if name == "tom" and passwd == "123":
    print("登录成功")
else:
    print("用户名或密码错误")

编写一个程序.要求用户输入今天是星期几

7 编写一个程序.要求用户输入今天是星期几.根据用户的输入判定是工作日还是周末,并显示合适的问候语.
1.如果输入的数字不在1~7之间,则显示"请输入位于1~7之间的数".
2.如果用户输入的数字为6或7,则显示"周末愉快!"
3.对于1~5之间的数字,则显示"工作日愉快!"

week = input("请输入今天是星期几:")
if  week.isdigit() and 7 >= int(week) >= 1:
    if week == 6 or week == 7:
       print("周末愉快!")
    else:
        print("工作日愉快")
else:
    print("请输入1~7之间的整数")
posted @ 2024-10-28 17:58  帅帅啊  阅读(9)  评论(0编辑  收藏  举报