pyhon学习之第二天

知识点目录
1.条件判断语句的三种常用格式
2.判断一个值是否为True的三种格式
3.and.or.not的特点
4.独立完成练习中的"征婚筛选"功能
5.判断一个变量是否为空的写法
6.三目运算符的特点
7.startswith和endswith()用法
8.除.整除.求余对应的符号是什么
9.range的三种用法
10.for 循环的基本格式
11.什么是可迭代对象
12.break和continue的特点
13.while循环的基本格式
14.while和for循环的特点和应用场景
15.如何生成随机数
16.用随机数做一个猜数字小游戏

1.条件判断语句的三种常用格式

# 条件判断三种格式
# 条件(condition)
# 格式1:
if condition:
    pass
# 格式2:
if condition:
    pass
else:
    pass
# 格式3:
if condition:
    pass
elif condition:
    pass
else:
    pass

2.判断一个值是否为True的三种格式

user =True 
格式1:
if user:
    pass
格式2
if user==True:
    pass
格式3
if user is True:
    pass

判断一个字符串是否相等一般用 ==
判断bool类型的一般用 格式1和3

3.and.or.not的特点

and的特点

# True and True    ==> True
# False and True  ==>  False
# False and False ==> False

or的特点

# True or True   ==> True
# False or True  ==> True
# False or False ==> False

not的特点

# not True ==>  False
# not False ==> True

4.独立完成练习中的"征婚筛选"功能

# 综合练习
# 1.女性征婚要求   身高\年龄\薪水需要手动输入
# 1)性别要求男
# 2)年龄  0-20  提示太嫩了
#         20-30 年龄符合
#         30-50 年龄有点大,但是有可能
#         50以上 年龄太大不考虑
# 3)身高  0-170 身高不符
#         170-180 身高合适
#         180以上 太高不考虑
# 4)薪水  0-3000 养不起,不考虑
#          3000-5000  凑合,考虑看看
#          5000-12000  满意
#          12000以上 非常满意(忽略身高、年龄)

name = input("请告诉我你叫啥:")
sex = True
height = input("请告诉我你的身高:")
height = float(height)
age = input("请告诉我你的年龄:")
age = int(age)
salary = input("请告诉我你的薪水:")
salary = float(salary)
print("叫我想想...")
if sex:
    if 12000 <= salary:
        print("我看重的是你的人不是你的钱")
    else:
        if 0 <= age < 20:
            print("我已经是个老阿姨了")
        elif 20 <= age < 50:
            if 0 <= height < 170:
                print("身高不符")
            elif 170 <= height <= 180:
                print("身高符合")
                if 0 <= salary <= 3000:
                    print("养不起")
                elif 3000 < salary <= 5000:
                    print("勉强凑合过")
                elif 5000 < salary <= 12000:
                    print("比较满意")
            else:
                print("太高了")
        else:
            print("你已经是个老叔叔了")
else:
    print("我不是拉拉")

5.判断一个变量是否为空的写法

null_str = ""
if not null_str:
    print("空字符串")
    
null_list = []
if not null_list:
    print("空列表")
    
null_tuple = ()
if not null_tuple:
    print("空元组")
    
null_dict = {}
if not null_dict:
    print("空字典")

6.三目运算符的特点

 三目(元)运算符
# 优点:语法简洁
# 缺点:不适用于太复杂的逻辑
# 结论
# 1.如果逻辑中只有一句话,可以考虑用三目运算符简化
# 2.逻辑中超过一句话,用三目运算符也行,但会更麻烦

7.startswith和endswith()用法

在Python中有两个函数分别是startswith()函数与endswith()函数,功能都十分相似,startswith()函数判断文本是否以某个字符开始,endswith()函数判断文本是否以某个字符结束。

startswith()函数

此函数判断一个文本是否以某个或几个字符开始,结果以True或者False返回。
代码如下:
text='welcome to qttc blog'
print text.startswith('w')      # True
print text.startswith('wel')    # True
print text.startswith('c')      # False
print text.startswith('')       # True

endswith()函数

此函数判断一个文本是否以某个或几个字符结束,结果以True或者False返回。
代码如下:
text='welcome to qttc blog'
print text.endswith('g')        # True
print text.endswith('go')       # False
print text.endswith('og')       # True
print text.endswith('')         # True
print text.endswith('g ')       # False

判断文件是否为exe执行文件

我们可以利用endswith()函数判断文件名的是不是以.exe后缀结尾判断是否为可执行文件
代码如下:
# coding=utf8
 
fileName1='qttc.exe'
if(fileName1.endswith('.exe')):
    print '这是一个exe执行文件'  
else:
    print '这不是一个exe执行文件'
 
# 执行结果:这是一个exe执行文件

判断文件名后缀是否为图片
代码如下:

# coding=utf8
 
fileName1='pic.jpg'
if fileName1.endswith('.gif') or fileName1.endswith('.jpg') or fileName1.endswith('.png'):
    print '这是一张图片'
else:
    print '这不是一张图片'

8.除.整除.求余对应的符号是什么

除对应的符号 /
整除对应的符号 //
求余对应的符号 %

9.range的三种用法

    # range函数   范围 参数为整型
    # range(start,end,step) start默认为0,step默认为1
    # range(参数)  从0开始到参数值-1
    # range(参数1,参数2)  从参数1的值到参数2的值-1
    # range(参数1,参数2,参数3)  从参数1的值到参数2的值-1,步长为参数3的值
    # 计算1到100之间能被3整除的数之和
    sum = 0
    for i in range(1, 101):
        if i % 3 == 0:
            sum += i
    print(sum)
    # sum=0
    # for i in range(3, 101,3):
    #     if i % 3 == 0:
    #         sum += i
    # print(sum)
    
    # sum = 0
    # total = sum(range(3,101,3))
    # print(total)

10.for 循环的基本格式

# for的基本格式
# 可迭代对象:字符串 列表 字典 元组 文件句柄
# for 变量1,变量2... in 可迭代对象:
#    循环内容
for i in 'abcdefg':
    print(i)

11.什么是可迭代对象

指存储了元素的一个容器对象,且容器中的元素可以通过__iter__( )方法或__getitem__( )方法访问。
一个可迭代对象是不能独立进行迭代的,Python中,迭代是通过for … in来完成的。凡是可迭代对象都可以直接用for… in…循环访问,这个语句其实做了两件事:第一件事是调用__iter__()获得一个可迭代器,第二件事是循环调用__next__()。
常见的可迭代对象包括:
a) 集合数据类型,如list、tuple、dict、set、str等;
b) 生成器(generator),包括生成器和带yield的生成器函数(generator function),下节专门介绍。
如何判断一个对象是可迭代对象呢?可以通过collections模块的Iterable类型判断,具体判断方法如下:
from collections import Iterable #导入Iterable 模块
isinstance(变量, Iterable) #判断一个变量是否为可迭代对象返回True表明是可迭代对象

12.break和continue的特点

break 跳出整个循环,break之后的代码不执行
continue:跳出本次循环,continue之后的所有代码不执行

13.while循环的基本格式

python中while循环比较简单,只有一种格式

# 格式
# while 循环条件:
#    循环内容

14.while和for循环的特点和应用场景

如果明确的知道循环执行的次数或者是要对一个容器进行迭代(后面会讲到),那么我们推荐使用for-in循环

如果要构造不知道具体循环次数的循环结构,我们推荐使用while循环,while循环通过一个能够产生或转换出bool值的表达式来控制循环,表达式的值为True循环继续,表达式的值为False循环结束。

15.如何生成随机数

from random import randint

# randint(起始值,结束值) 随机整数
system_num = randint(1,100)
print(system_num)

16.用随机数做一个猜数字小游戏

from random import randint
# randint(起始值,结束值) 随机整数
# 模拟登陆
# 输入用户名admin,密码admin
# 如果成功,则提示"欢迎进入猜数字逻辑游戏"
# 如果不成功,则提示"用户名或密码错误!请重新输入"

# 2.猜数字逻辑
# 1)提示"请输入1-100"之间的一个数字
# 2)如果大于系统数字,则提示"猜大了"
# 3)如果小于系统数字,则提示"猜小了"
# 4)如果等于系统数字,则提示"猜对了"
# 5)如果猜对了,按n则进入下一轮,按q表示退出
# 6)不允许连续猜错三次,否则退出整个游戏
while True:
    user_name = input("请输入用户名:")
    user_psw = input("请输入密码:")
    if user_name == 'admin' and user_psw == 'admin':
        print("欢迎进入猜数字逻辑游戏")
        print("""
        1.按i进入猜数字游戏
        2.按q退出系统
        """)
        order = input("请输入命令:")
        if order == 'i':
            sys_num = randint(1, 100)
            print(f"系统数字为{sys_num}")
            while True:
                count=1
                while count<4:
                    user_num = input("请输入1-100之间的数字:")
                    user_num = int(user_num)
                    if user_num > sys_num:
                        print("猜大了")
                        count+=1
                    elif user_num < sys_num:
                        print("猜小了")
                        count+=1
                    else:
                        print("猜对了")
                        count=0
                print("您已经连续输错三次,欢迎下次再来")
                break
        else:
            print("您已经退出!欢迎下次再来")
            break
        break
    else:
        print("用户名或密码错误!请重新输入")
上一篇:Java实现从服务器下载文件到本地的工具类


下一篇:ES6基础之——判断字符串里是否包含其他字符串