首页 > 编程语言 >Python基础入门(二)

Python基础入门(二)

时间:2024-07-15 18:18:55浏览次数:12  
标签:elif code 入门 Python 基础 else while print 分支

Python 基础入门(二)

一、 学习目标:

掌握各种分支结构的使用方法

掌握各种循环结构的使用方式

掌握分支结构与循环结构的嵌套使用方式

二、 分支结构介绍

根据指定条件是否成立确定是否执行相应的代码块:

  • 单分支结构

  • 二分支结构

  • 多分支结构

  • 分支结构嵌套

三、 单分支结构

根据一个指定条件确定是否执行相应的代码块

​ if 条件:

​ 语句块

案例:如果输入一个数大于零则输出“正数”,否则不输出


# 单分支结构
x = 1
if x > 0:
    print("这是一个正数")
print("程序结束")

x = -1
if x > 0:
    print("这是一个正数")
print("程序结束")

x = --1
if x > 0:
    print("这是一个正数")
print("程序结束")

x = int(input("请输入一个整数:"))
if x > 0:
    print("这是一个正数")
print("程序结束")

四、 二分支结构

根据一个指定条件选择执行相应的代码块

​ if条件:

​ 语句块1

​ else:

​ 语句块2

案例:如果一个数大于零则输出“正数”,如果小于零则输出“负数”

# 双分支结构
x = int(input("请输入一个整数:"))
if x == 0:
    exit(0)  # 退出
else:
    pass  # 空语句
if x > 0:
    print("这是一个正数")
else:
    print("这是一个负数")
print("程序结束")

根据多个指定条件选择执行相应的代码块

​ if 条件1:

​ 语句块1

​ elif条件2:

​ 语句块2

​ ……

​ else条件n:

​ 语句块n

案例:如果一个数大于零则输出“正数”,如果小于零则输出“负数”,如果等于零则输出“零”

# 多分支结构
x = int(input("请输入一个整数:"))
if x > 0:
    print("这是一个正整数")
elif x < 0:
    print("这是一个负整数")
else:
    print("这是一个零")
print("程序结束")

if 1:
    print("执行")

if 0.00:
    print("执行")

if not None:
    print("执行")

match...case

​ match后的对象会依次与case后的内容进行匹配,如果匹配成功,则执行匹配到的表达式,否则直接跳过,_可以匹配一切;

语法格式如下:

​ Match subject:

 	Case<pattern_1>:

			<action_1>

	 Case <pattern_2>:

			<action_2>

	Case_:

			<action_ wildcard>
x = int(input("请输入一个整数【1, 2, 3】:"))
match x:
    case 1:
        print("吃米饭")
    case 2:
        print("吃面条")
    case 3:
        print("吃饼干")
    case _:
        print("不吃了")
print("程序结束")
##
x = int(input("请输入一个整数:"))
y = 0
if x < 0:
    y = -1
elif x > 0:
    y = 1
else:
    y = 0
match y:
    case -1:
        print("这是一个负数")
    case 1:
        print("这是一个正数")
    case 0:
        print("这是一个零")
print("程序结束")

##
print(2.5e3)  #科学计数法
print(2.5e-3)

练习:狗龄换算为人龄问题:

​ 如果狗龄是1岁则相当于14岁的人

​ 如果狗龄是2岁则相当于22岁的人

​ 如果狗龄大于2岁则按“22+(dog-2)*5”岁的人

​ 如果输入非正整数则输出“狗龄必须大于0岁”

dog = int(input("请输入dog的年龄:"))
if dog <= 0:
    print("狗龄必须大于0岁")
elif dog == 1:
    print("相当于14岁的人")
elif dog == 2:
    print("相当于22岁的人")
elif dog > 2:
    print(f'相当于{22 + (dog-2)* 5}岁的人')

练习:编写代码实现以下映射关系:

​ 如果代号是400则输出“Bad request”

​ 如果代号是404则输出“Not found”

​ 如果代号是500则输出“Sever error”

​ 如果是其他代码则输出“Something’s woring with the internet”

# 单分支
code = int(input("请输入错误代码【400, 404, 500】:"))
if code == 400:
    print("Bad request")
if code == 404:
    print("Not found")
if code == 500:
    print("Server error")
if code != '400' and code != '404' and code != '500':
    print("Something wrong with the internet")

#  双分支
code = input("请输入代号:")
if code == '400':
    print("Bad request")
else:
    if code == '404':
        print("Not found")
    else:
        if code == '500':
            print("Server error")
        else:
            print("Something wrong with the internet")
            

#  双分支
code = input("请输入代号:")
if code == '400':
    print("Bad request")
elif code == '404':
    print("Not found")
elif code == '500':
    print("Server error")
else:
    print("Something wrong with the internet")
#######
code = input("请输入代号:")
match code:
    case '400':
        print("Bad request")
    case '404':
        print("Not Found")
    case '500':
        print("Server Error")
    case _:
        print("Something wrong with the internet")

五、 分支结构嵌套

单分支结构、双分支结构与多分支结构之间可以任意嵌套

单分支结构、双分支结构与多分支结构可以相互替代

案例:根据学生考试成绩分数划分不同等级

​ 90 – 100分:优秀

​ 80 – 89 分:良好

​ 70 – 79 分:中等

​ 60 – 69 分:及格

​ 0 – 59分:不及格

# 根据成绩判定等级
mark = int(input("请输入成绩:"))
if mark < 0:
    print("输入不合法")
elif mark >= 0 and mark <= 59:
    print("不及格")
elif mark >= 60 and mark <= 69:
    print("及格")
elif mark >= 70 and mark <= 89:
    print("良好")
elif mark >= 90 and mark <= 100:
    print("优秀")
else:
    print("输入不合法")
######
mark = int(input("请输入成绩:"))
if mark > 100:
    print("输入不合法")
elif mark >= 90:
    print("优秀")
elif mark >= 80:
    print("良好")
elif mark >= 70:
    print("中等")
elif mark >= 60:
    print("及格")
elif mark >= 0:
    print("不及格")
else:
    print("输入不合法")

六、 分支结构的案例:人机猜数

程序的主要逻辑如下:

​ 计算机生成一个范围内的随机数,作为猜测的答案

  • 用户输入猜测的数字
  • 通过比较用户输入的数字和随机数的大小关系,给出一些提示信息
  • 用户根据提示信息进行调整猜测,重新输入数字
  • 重复步骤3和4,直到用户猜测出正确的答案
  • 通过调用 random.randomint(a,b)函数可以生成[a,b]之间的一个整数
# print(random.randint(1, 10))
import random # 导入模块
print(random.randint(1, 10))

from random import randint
print(randint(1, 10))

# 猜数游戏
pc = random.randint(1, 5)
pe = int(input("请输入一个1到5之间的整数:"))
if pe < 1 or pe > 5:
    print("输入不合法")
elif pe < pc:
    print("小了")
elif pe > pc:
    print("大了")
else:
    print("胜利了")
    
####代码改进
import random
count = 0
pc = random.randint(1, 10)
while True:
    pe = int(input("请输入一个1到10之间的整数:"))
    count += 1
    if pe < 1 or pe > 10:
        print("输入不合法")
    elif pe < pc:
        print("小了")
    elif pe > pc:
        print("大了")
    else:
        print("胜利了")
        break
else:
    pass
print("一共猜了",count, "次")
print("游戏结束!!!!")

七、 循环结构介绍

循环语句有for和while

image-20240715170925999

八、 while循环结构

while语句的一般形式:

​ while条件:

​ 语句块1

​ else:

​ 语句块2

x = 1
while x == 1:
    print("hello world")
print("game over")

x = 0
while x < 5:
    print("hello world")
    x += 1
else:
    pass
print("game over")


x = 1
while x <= 5:
    print(x)
    x += 1
else:
    pass
print("game over")

# 使用while三步:
# 1.初始化计数器
# 2.条件(计数器)判断
# 3.更新计数器

cnt = 0
while cnt <5:
    print("cnt = ", (cnt + 1))
    cnt += 1
else:
    pass

案例:通过循环输出100以内的所有偶数

x = 0
while x <= 100:
    if x % 2 == 0:
        print(x)
    x += 1
else:
    print("game over")

九、 for循环结构

for循环可以遍历任何可迭代的对象,如果一个列表或者一个字符串

​ 数列range(start,end)

for循环的一般格式如下:

​ for变量in序列:

​ 语句块1:

else:

​ 语句块2

for cnt in range(1, 6):
    print("cnt = ", cnt)
else:
    pass

案例:求取1+2+3...+100的和,即高斯和

# 高斯和
# 第一种方法
x = 1
s = 0
while x <= 100:
    s += x
    x += 1
else:
    print("s = ", s)

# 
# 第二种方法
s = 0
for x in range(1, 100+1):
    s += x
else:
    print("s = ", s)

十、 嵌套循环结构

​ While循环与for循环可以任意嵌套

# *
# **
# ***
# ****
# *****
# ******
# *******
# ********
# **********
for i in range(1, 10):
    for j in range(1, i + 1):
        print("*", end='\t')
    else:
        print()
else:
    pass


for i in range(1, 10):
    for j in range(1, i + 1):
        print(j,"*",i,"=",i*j, end='\t')
    else:
        print()
else:
    pass

r = 1
while r <= 9:
    c = 1
    while c <= r:
            print(c,"*",r,"=",c*r, end='\t')
            c += 1
    else:
        print()
    r += 1
    
#           *
#          **
#         ***
#        ****
#       *****
#      ******
#     *******
#    ********
#   *********
#  **********
# ***********
for r in range(0, 9):
    print(" "*(9-r),"*"*(r+1),end='\t')
else:
    pass


for r in range(0, 9):
    for b in range(0, r):
        print(" ",end='')
    else:
        pass
    for s in range(0, 9-r):
        print("*", end='')
    else:
        pass
    print()
else:
    pass

# *************
# ************
# ***********
# **********
# *********
# ********
# *******
# ******
# *****
# ****
# ***
# **
# *
for r in range(0, 9):
    for c in range(0, 9-r):
        print("*", end='')
    print()
else:
    pass

# 2
# 22
# 222
# 2222
# 22222
s = 0
count = 0
for r in range(1, 6):
    s = 2*(10 ** (r-1)) + s
    count += s
    print(s)
print(count)

十一、循环结构案例

l 求取100以内所有的质数并输出

l 将以上所有质数求和

l 提示:最小质数是2

# 求取100以内的所有质数之和
# 思路:
# 第一步:找出所有质数
# 第二步:求和
s = 0
for n in range(2, 100+1):
    for m in range(2, n//2+1):
        if n % m == 0:
            break
    else:
        print(n)
        s += n
else:
    print("s =", s)

补充:

#break:退出循环
for x in range(1, 11):
    if(x > 5):
        break
    print(x)
else:
    print("循环正常结束")
print("=============")


for x in range(1, 11):
    for y in range(11, 21):
        if y > 13: break
        print(x,",",y)
    else:
        print("内层循环结束")
else:
    print("外层循环结束")

十二、总结

分支结构:

​ if分支、if-else分支、elif分支

循环结构:

​ while循环、for循环

标签:elif,code,入门,Python,基础,else,while,print,分支
From: https://www.cnblogs.com/zhm135/p/18303716

相关文章

  • Python读Excel数据,创建Word文档上下文字典列表,元素为字典
    #读Excel数据,创建Word文档上下文字典列表,元素为每个培训人员的上下文字典defcreate_docx_context_dict_list(_excel_path):"""输入参数::param_excel_path:Excel全路径功能:创建Word文档上下文字典列表,元素为每个培训人员的上下文字典字典的键为......
  • 1. 基础知识
    1.Typora软件的使用1.1下载安装Typora官方中文站:https://typoraio.cn/ 替换该文件1.2markdown语法1.2.1有序标题的书写方式一:      #  空格  标题内容      (几个#就代表几级标题)方式二:      ctrl + 字母上面的数......
  • Python循环控制
    技术背景循环控制是每一门编程语言的基础,最常用的就是for循环和while循环。使用循环可以很大程度上简化代码的编写,可读性也很强。这里介绍Python的for循环基本操作和多重循环的控制。单层for循环这里用一个最简单的打印数字的for循环来演示普通单层for循环的控制:foriin(1,......
  • 数据结构的基础(集合框架算法,复杂度和泛型)
    一.什么是集合框架        Java集合框架JavaCollectionFramework,又被称为容器container,是定义在java.util包下的一组接口interfaces和其实现类classes。        其主要表现为将多个元素element置于一个单元中,用于对这些元素进行......
  • 005_python3 元组 字典 集合 条件控制 循环语句 编程第一步
    Python3元组1.元组的元素不能修改,使用小括号,逗号隔开,也可不用小括号,不同类型元素tup1=()  #创建空元组tup2=('he',)   #元组中只包含一个元素时,需要在元素后面添加逗号 , ,否则括号会被当作运算符使用tup3=('abc','xyz',2,4,9)2.元组使用访问元组:tup3......
  • 全面掌握 Vue 路由:从基础到进阶
    标题:全面掌握Vue路由:从基础到进阶在现代前端开发中,单页面应用(SPA)已经成为主流,而路由作为SPA的核心功能之一,起着至关重要的作用。Vue.js作为一个流行的前端框架,其官方路由库vue-router提供了强大且灵活的路由管理功能。本文将深入探讨Vue路由的使用,包括基础配置、动态路......
  • python-查找算法
    查找算法1.线性查找2.二分查找3.插值查找4.斐波那契查找1.线性查找"""线性查找:对于被查找的序列没有顺序要求,可以是有序的,也可以是无序的,查找时从线性表的起始位置按照顺序匹配,找到元素时,返回该元素在原始字符串的下标若匹配完整个序列......
  • python 基础中requests 验证码
    验证码登录importrequests#古诗文网登录页面的URL地址url='https://so.gushiwen.cn/user/login.aspx?from=http://so.gushiwen.cn/user/collect.aspx'headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTM......
  • Python 数据可视化与报告生成
    Python数据可视化与报告生成在当今的数据驱动世界中,数据可视化和报告生成是数据科学家、分析师和业务决策者不可或缺的工具。Python,作为一种强大且灵活的编程语言,通过其丰富的库和框架,为数据可视化和报告生成提供了广泛的支持。本文将深入探讨Python在数据可视化和报告生......
  • Python Web应用的部署与维护
    PythonWeb应用的部署与维护是一个涉及多个环节和技术的复杂过程,涵盖了从项目准备、服务器配置、代码部署到后期监控与维护的全方位工作。以下是对这一过程的详细阐述。一、Web应用的部署1.项目准备在部署之前,首先需要确保PythonWeb项目已经开发完成,并且经过了充分的测......