首页 > 编程语言 >01-python基础

01-python基础

时间:2024-07-14 16:41:31浏览次数:10  
标签:elif 01 name python 代码 基础 print input 输入

DAY-01课堂笔记


为后续的自动化测试打基础

python+requests :接口自动化

python+selenium :web自动化

python+appium :移动端自动化

python 是解释型语言  下方代码的错误不会影响上方代码的执行
主流版本:python3

基础语法


注释:对代码进行解释说明

快捷键:ctrl+/
单行注释:
#语句
多行注释:
"""
语句1
语句2
"""
或
'''
语句1
语句2
'''

添加注释的注意事项:

  • 注释并非越多越好,一目了然的代码无需注释
  • 逻辑复杂的代码,应当先写注释再编码
  • 不要用中文去翻译 python 代码的含义

波浪线:

  • 红色波浪线

    是代码中的错误,需要解决,否则会影响代码执行
    
  • 灰色波浪线

    代码规范性问题,可以正常运行
    使用代码格式化  快捷键:ctrl+alt+L
    
  • 绿色波浪线

    不影响代码执行;间接性问题--编译器觉得你写的不是一个单词
    

变量


变量定义

name="软件测试"
#变量名=数据值

变量名自定义, 要满足标识符命名规则

标识符规则:

  • 由数字, 字母, 下划线组成
  • 不能使用数字开头
  • 不能使用Python内置关键字
  • 严格区分大小写

标识符-命名习惯:(见名知意)

  • 驼峰命名
    1. 大驼峰:每个单词首字母大写, 例如: MyName
    2. 小驼峰:第二个单词开始首字母大写, 例如: myName
  • 下划线命名
    1. 每个单词之间使用下划线连接, 例如: my_name

数据类型


数据类型分类:

数据类型转换:

数据类型的转换,不会改变原数据的类型;是生成一个新数据

程序的输出和输入


输出:

 语法:print(数据/变量)

格式化输出:将程序的运行结果按照一定的格式输出

name = "小明"
age = 18
print(name + "今年" + str(age) + "岁了")
#非字符串类型的数据,还要进行类型转换

格式化输出-format方法实现

1:可以在任意的python版本中使用
2:字符串中需要使用变量时,用{}占位
3:将变量写在.farmat()中,按前面占位的顺序
print("name={} age={}".format(name, age))

格式化输出-f格式化实现

1:python 3.6版本开始可以使用
2:字符串中需要使用变量时,用{}占位
3:将变量直接写在{}中
print(f"name={name} age={age}")

输入:

语法: 变量名 = input('提示信息:')   默认字符串,即str

注意:

  1. 当程序执行到 input() 函数会等待用户输入, 因此最好给出提示信息
  2. input() 函数接收用户输入的信息后, 一般需要保存到到变量中, 方便后续使用
  3. input() 函数会把用户输入的任意数据都当做字符串处理, 需要运算时注意类型转换

练习:

题目①:
书写程序,制作一个加法计算器。
用户依次输入2个整数,系统自动进行加法运算,并打印求和结果。
x=input("请输入第一个数:")
y=input("请输入第二个数:")
z=int(x)+int(y)
print(f"{x}+{y}={z}")
x=input("请输入第一个数:")
y=input("请输入第二个数:")
z=int(x)+int(y)
print(f"{x}+{y}={z}")

转义字符:

将两个字符进行转义表示一个特殊的字符
\n  --->换行,回车
\t  --->tab键;制表符

print 函数中默认有一个end=\n,所以每个print结束之后,都有换行
不想让print换行:print("hello world",end=' ')

运算符


算术运算符

           **                     幂,次方           2**3  2的3次方 = 8
优先级:() > **  >  * / // % >+ -
/除法运算得到的时浮点数float

比较运算符

类型不一样不能比较大小: >,>=,<,<=  (数字和字符串不能比较)

赋值运算符

逻辑运算符

关键字: and  or  not
and:逻辑与-->只有两个条件都为true,结果才为ture;一假为假
or :逻辑或-->只要有一个条件为true,结果就为ture;一真为真
not:逻辑非-->本来时true,加上not,变为false;

练习题:

1. 提示用户输入用户姓名,并保存到变量中
2. 提示用户输入用户年龄,保存到变量中,并转换成整数
3. 提示用户输入用户身高,保存到变量中,并转换成浮点数
4. 在控制台输出用户姓名、年龄、身高对应变量的数据类型
5. 按照以下格式输出用户信息:“姓名:xxx 年龄:xxx 身高:xxx”
6. 在控制台输出该用户5年之后的年龄,格式:“张三 5 年之后的年龄是 25”
7. 在控制台输出该传智教育-黑马程序员 用户现在是否成年,格式:“张三是否成年:True”
name=input("请输入用户姓名:")
age=int(input("请输入用户年龄:"))
height=float(input("请输入用户身高:"))
print(type(name),type(age),type(height))
print(f"姓名:{name}年龄:{age}身高:{height}")
print(f"{name}5年之后的年龄时{age+5}")
print(f"{name}是否成年:{age>=18}")

DAY-02课堂笔记


1.掌握if判断语句的用法
2.掌握while循环的用法
3.掌握for循环的用法

流程控制


判断语句

if-else

if判断语句基本语法

if 判断条件 :
   条件成立,做什么
#判断年龄
#1. 定义一个整数变量记录年龄
age=19
#2. 判断是否满 18 岁 (>=)
if age>=18 :
#3. 如果满 18 岁,允许进网吧嗨皮
   print("允许进去")

else 处理条件不满足的情况

if 判断条件 :
   条件成立,做什么
else:
   条件不成立,做什么
  1. if 和 else 语句以及各自的缩进部分共同是一个 完整的代码块
  2. else 关键字必须和 if 联合使用, 不能单独使用
#if else 判断年龄
#1. 输入用户年龄
age=int(input("请输入用户年龄:"))
#2. 判断是否满 18 岁 (>=)
if age>=18 :
#3. 如果满 18 岁,允许进网吧嗨皮
   print("允许进入")
#4. 如果未满 18 岁,提示回家写作业
else:
   print("回家写作业")
不要忘记 if 和 else 后面的 :冒号
#练习
#1.获取用户输入的用户名信息
#2.如果用户名信息是admin,就在控制台输出"欢迎admin登录"
#3.如果用户名信息不是admin,就在控制台输出"用户名错误!"
name=input("请输入用户名")
if name=='admin':
    print("欢迎admin登录")
else:
    print("用户名错误!")

if和逻辑运算符结合

逻辑运算符-and

条件1 and 条件2
• 逻辑与/并且
• 两个条件同时满足,返回 True
• 只要有一个不满足,就返回 False
# 1. 定义一个整数变量 age,编写代码判断年龄是否正确
# 2. 要求人的年龄在 0-120 之间
age = int(input("请输入一个年龄"))
if age>0 and age<120 :
    print("正确")
else:
    print("错误")

逻辑运算符-or

条件1 or 条件2
• 逻辑或/或者
• 两个条件只要有一个满足,返回 True
• 两个条件都不满足,返回 False
# 1. 定义两个整数变量python_score、c_score,编写代码判断成绩
# 2. 要求只要有一门成绩 > 60 分就算合格
python_score = int(input("请输入python成绩"))
c_score = int(input("请输入c的成绩"))
if python_score>60 or c_score>60:
    print("合格")
else:
    print("不合格")

逻辑运算符-not

not 条件
• 逻辑非/取反
• 如果True ,not之后为 False
• 如果False ,not之后为 True
案例一:
1. 获取⽤户输⼊的⽤户名和密码
2. 判断⽤户名是 admin 并且密码是 123456 时, 在控制台输出: 登录成功!
3. 否则在控制台输出: 登录信息错误!
name=input("请输入用户名")
pwd=input("请输入密码")
if name=='admin' and pwd== '123456':
    print("登录成功!")
else:
    print("登录信息错误!")
案例⼆:
1. 定义两个整数变量python_score、c_score,使⽤ input获取成绩 编写代码判断成绩
2. 要求只要有⼀⻔成绩 > 60 分就输出合格
 ```上面有,自己找
案例三:
1. 获取⽤户输⼊的⽤户名
2. 判断⽤户名是 admin 时, 在控制台输出: 欢迎 admin 登录!
3. ⽤户名是 test 时, 在控制台输出: 欢迎 test 登录!
4. 如果是其他信息, 在控制台输出: 查⽆此⼈!
name=input("请输入用户名")

elif 多重判断

if 条件1:
条件1满足执行的代码
……
elif 条件2:
条件2满足时,执行的代码
……
elif 条件3:
条件3满足时,执行的代码
……
else:
以上条件都不满足时,执行的代码
……
  • 需求

    1. 定义 score 变量记录考试分数
    2. 如果分数是 ⼤于等于 90分 显示 优
    3. 如果分数是 ⼤于等于 80分 并且 ⼩于 90分 显示 良
    4. 如果分数是 ⼤于等于 70分 并且 ⼩于 80分 显示 中
    5. 如果分数是 ⼤于等于 60分 并且 ⼩于 70分 显示 差
    6. 其它分数显示 不及格
    
    score = float(input("请输入考试分数"))
    if score >= 90:
        print("优")
    elif score >= 80:
        print("良")
    elif score >= 70:
        print("中")
    elif score >= 60:
        print("差")
    else:
        print("不及格") 
    

if的嵌套

if 条件1:
条件1 满足执行的代码
if 条件1基础上的条件2:
条件2 满足时,执行的代码
# 条件2不满足的处理
else:
条件2 不满足时,执行的代码
# 条件1 不满足的处理
else:
条件1 不满足时,执行的代码
需求
取款机取钱的过程, 假定 你的密码是: 123456, 账户余额为 1000
1. 提示⽤户输⼊密码
2. 判断密码是否正确
3. 密码正确后,提示输⼊取款的⾦额,
4. 判断取款的⾦额和余额的关系
#代码:
pwd = input("请输入你的密码:")
if pwd == "123456":
    print("密码正确")
    money = int(input("请输入取款金额:"))
    if money <= 1000:
        print("取款成功!")
    else:
        print("余额不足")
else:
    print("密码错误,请重试")

练习

需求:
假定某⽹站⽤户名固定为 'admin', 密码固为'123456',验证码 固定为 '8888'
1. 获取⽤户输⼊的⽤户名,密码和验证码
2. 先判断验证码是否正确,如果正确打印输出验证码正确,再
判断⽤户名和密码是否正确
3. 如果验证吗不正确,直接输出 验证码不正确,请重新输⼊
#代码:
name=input("请输入用户名:")
pwd=input("请输入密码")
code=input("请输入验证码")
if code=='8888':
    print("验证码正确")
    if name=='admin' and pwd=='123456':
        print("登陆成功")
    else:
        print("账号或者密码不正确!")
else:
    print("验证码不正确,请重新输⼊")

综合应用-石头剪刀布

需求

1. 从控制台输入要出的拳 —— 石头(1)/剪刀(2)/布(3)
2. 电脑随机出拳 —— 先假定电脑只会出石头,完成整体代码功能
3. 比较胜负
胜负规则:
• 石头 胜 剪刀
• 剪刀 胜 布
• 布   胜 石头
x = int(input("请输入要出的拳-石头(1)/剪刀(2)/布(3)"))
y = 1  # 暂时默认为石头
if x == y:
    print("心有灵犀,再来一盘!")
elif x == 1 and y == 2:
    print("x出石头,y出剪刀,胜利")
elif x == 1 and y == 3:
    print("x出石头,y出布,失败")
elif x == 2 and y == 1:
    print("x出剪刀,y出石头,失败")
elif x == 2 and y == 3:
    print("x出剪刀,y出布,胜利")
elif x == 3 and y == 1:
    print("x出布,y出石头,胜利")
elif x == 3 and y == 2:
    print("x出布,y出剪刀,失败")
player = int(input("请输入要出的拳-石头(1)/剪刀(2)/布(3)"))
computer = 1  # 暂时默认为石头
if ((player==1 and computer==2) or (player==2 and computer==3) or (player==3 and computer==1)):
print("噢耶!!!电脑弱爆了!!!")
elif player == computer:
print("心有灵犀,再来一盘!")
else:
print("不行,我要和你决战到天亮!")

随机数的处理

1. 在Python中,要使用随机数,首先需要导入随机数的模块(工具包)
           import random
2. 调用random模块中的randint方法可以生成随机数 
        r = random.randint(a, b)  //返回[a, b]之间的整数,包含 a 和 b
random.randint(12, 20) // 生成的随机数n: 12 <= n <= 20 
random.randint(20, 20) // 结果永远是 20 
random.randint(20, 10) // 该语句是错误的,下限必须小于上限

import random
x = int(input("请输入要出的拳-石头(1)/剪刀(2)/布(3)"))
y = random.randint(1, 3)
if x == y:
    print("真巧,继续")
elif x == 1 and y == 2:
    print("x出石头,y出剪刀,胜利")
elif x == 1 and y == 3:
    print("x出石头,y出布,失败")
elif x == 2 and y == 1:
    print("x出剪刀,y出石头,失败")
elif x == 2 and y == 3:
    print("x出剪刀,y出布,胜利")
elif x == 3 and y == 1:
    print("x出布,y出石头,胜利")
elif x == 3 and y == 2:
    print("x出布,y出剪刀,失败")

循环语句


while语句基本语法

  • 语法
1. 循环的初始条件(计数器)

2. 循环的终⽌条件
while 判断条件:
 判断条件成⽴执⾏的代码
 判断条件成⽴执⾏的代码 
 判断条件成⽴执⾏的代码 
 
3. 计数器加1
  • 需求
 打印 100 遍 "媳妇儿,我错了"
  • 代码
i=1
while i<=100 :
    print("媳妇儿,我错了")
    i=i+1
#循环计算
#需求: 计算0~100所有数字的累加和结果
s=0
i=0
while i<=100:
    s+=i
    i=i+1
print(s)

死循环 & 关键字break ;continue

死循环:   是由于 写代码的人 不小心造成 属于bug
由于循环条件始终满足, 程序持续执行起来不会停止的现象,称为死循环
无限循环:是写代码的⼈ 故意这么写.

⽆限循环中,⼀般会存在⼀个 if 判断语句, 当这个判断语句的条件成⽴, 执⾏ break 语句,来终⽌循环.
关键字 break: 
当程序代码执⾏遇到 break, break 所在的循环就会被终⽌执⾏.(终⽌循环)
关键字 continue:
当程序代码执⾏遇到 continue, continue后续的代码不执⾏,但是会继续下⼀次的循环(结束本次循环,继续下⼀次循环)
break 和 continue 只能⽤在循环中.
#循环版本的石头剪刀布
import random
while True:
    x = int(input("请输入要出的拳-石头(1)/剪刀(2)/布(3)"))
    y = random.randint(1, 3)
    if x==0:    #输入0,执行break;游戏结束
        break
    if x == y:
        print("真巧,继续")
    elif x == 1 and y == 2:
        print("x出石头,y出剪刀,胜利")
    elif x == 1 and y == 3:
        print("x出石头,y出布,失败")
    elif x == 2 and y == 1:
        print("x出剪刀,y出石头,失败")
    elif x == 2 and y == 3:
        print("x出剪刀,y出布,胜利")
    elif x == 3 and y == 1:
        print("x出布,y出石头,胜利")
    elif x == 3 and y == 2:
        print("x出布,y出剪刀,失败")

for 循环

  • 语法

    for 临时变量 in 容器:
    重复执行的代码1
    重复执行的代码2
    ... 
    
  • 需求

    1. 遍历字符串 "itheima"
    2. 添加逻辑判断,遇到字母e的时候退出循环
    
  • 代码

    str1='itheima'
    for i in str1:
        if i=='e':
            break
        print(i)
    
  • for指定次数的循环:range()语法

    for 临时变量 in range(循环次数):
    循环内部执行的代码
    

    循环次数为整数类型数据

  • 需求代码

    #用for-rang()打印 100 遍 "媳妇儿,我错了"
    for i in range(100):
        print("媳妇儿,我错了")
        
    #i=0-99
    
  • 例题

    #使用for循环实现计算0~100所有数字的累加和结果
    s=0
    for i in range(101):
        s+=i
    print(s)
    

阶段综合案例

模拟破解系统密码

需求:
1. 提示用户输入登录系统的用户名和密码
2. 校验用户名和密码是否正确(正确的用户名:admin、密码:123456)
3. 如果用户名和密码都正确,打印“登录成功!”,并结束程序
4. 如果用户名或密码错误,打印“用户名或密码错误!”,提示用户继续输入用户名和密码登录
5. 如果用户输入的用户名为“exit”,则退出程序
while True:
    name = input("请输入用户名")
    if name == "exit":
       break
    pwd = input("请输入密码")
    if name == "admin" and pwd == "123456":
        print("登录成功!")
        break
    else:
        print("用户名或密码错误!请继续输入")

标签:elif,01,name,python,代码,基础,print,input,输入
From: https://www.cnblogs.com/xcq-bj/p/18301695

相关文章

  • 37 公私网转换技术-NAT基础
    一 静态NAT1对1转换配置命令测试结果删除静态NAT        [R1-BJ-GigabitEthernet0/2]undonatstaticenable[R1-BJ-GigabitEthernet0/2]dis#interfaceGigabitEthernet0/2portlink-moderoutecomboenablecopperipaddress100.1.1.1255.2......
  • C++嵌入式压缩库bundle基础操作:内存压缩与zip文件操作
    bundle是一个轻量级的C++压缩库,集成在一对简洁的文件中(bundle.h和bundle.cpp),支持内存数据的压缩与解压缩,以及zip格式文件的操作,方便嵌入到C++程序中执行压缩、解压缩操作。本文将详细介绍如何使用bundle库进行高效的数据压缩处理。简介bundle库支持多种压缩算法,使用std::string......
  • [rCore学习笔记 015]特权级机制
    写在前面本随笔是非常菜的菜鸡写的。如有问题请及时提出。可以联系:[email protected]:https://github.com/WindDevil(目前啥也没有官方文档仍然是一上来就丢出来的官方文档.只摘抄了我觉得有意思的部分:实现特权级机制的根本原因是应用程序运行的安全性不可充分信任......
  • 题解:CodeForces 1019 A Elections[贪心/三分]
    CodeForces1019AA.Electionstimelimitpertest:2secondsmemorylimitpertest:256megabytesinput:standardinputoutput:standardoutputAsyouknow,majorityofstudentsandteachersofSummerInformaticsSchoolliveinBerlandforthemostparto......
  • 一劳永逸解决路径难题:PyCharm中Python解释器路径错误的终极指南
    一劳永逸解决路径难题:PyCharm中Python解释器路径错误的终极指南引言PyCharm作为Python开发者的强大IDE,提供了许多便利的功能来简化开发流程。然而,在使用PyCharm时,可能会遇到Python解释器路径错误的问题,这通常会导致项目无法正常运行或调试。本文将提供一份详尽的指南,帮助......
  • Java基础(For循环/While循环/一维数组/二维数组)
    for循环语句for循环语句中两个分号是绝对不能少的,其他不可以没有,此时for循环就成了死循环。publicclassForDemo{ publicstaticvoidmain(String[]args) { //死循环 for(;;) { System.out.println("for---"); } }}while循环语句格式:初始......
  • [COCI2015-2016#6] PAROVI 的题解
    题意选择一些\(n\)一下互质的二元组\(\{a,b\}\),求对于任意\(x\in\big[2,n\big]\)都不满足\(a,b<x\)和\(a,b\gex\)的个数。简化题意因为无解的情况只发生在所有的\(\{a,b\}\)之间没有多余的位置用于放置\(x\),所以题意可以抽象成这样:选择一些区间互质的区间\([a......
  • Java零基础-集合:集合框架中的工具类
    哈喽,各位小伙伴们,你们好呀,我是喵手。运营社区:C站/掘金/腾讯云;欢迎大家常来逛逛  今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。  我是一名后端开发爱好者,工作日常接触到最多的......
  • 《0基础》学习Python——第十讲
    小知识点补充一、json大字符串        JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,它以易于阅读和编写的方式为基础,同时也易于解析和生成。因为其简洁性和可读性,JSON已成为数据交换的首选格式。        大字符串是指包含大量数据的字符串。......
  • Python+wxauto=微信自动化?
    Python+wxauto=微信自动化?一、wxauto库简介1.什么是wxauto库        wxauto是一个基于UIAutomation的开源Python微信自动化库。它旨在帮助用户通过编写Python脚本,轻松实现对微信客户端的自动化操作,从而提升效率并满足个性化需求。这一工具的出现,为经常需要在电脑......