python

一、注释

print("哈哈哈")
print("你好啊,python")
​
# 单行注释
"""
    注释!!这是注释
"""
​
print("python,文字和注释颜色一样。")

二、标准化输出

"""
print("标准化输出字符串")
​
a = 10
​
print("这是变量:", a)
​
​
"""
​
age = 18
print("我的名字是%s,我的国籍是%s" % ("轩玉", "中国"))
print("我的年纪是:%d 岁" % age)
​
# 了解
print("aaa", "bbb", "vvv")
print("www", "baidu", "com", sep=".")  # 表示前几个字符串,中间用点分开
print("hello", end="")   # 不换行
print("hello", end="\t")
​
print("end")
print("hello", end="\n")
print("end")
​
print("1234567890\n-------")

三、输入

"""
password = input("请输入密码:")
print("你输入的是:", password)
"""
​
# a = 10
# a = "abc"
​
​
a = input("输入:")
print(type(a))
​
print("输入任意数、字:%s" % a)  # 当做字符串处理
​
"""
​
a = int("123")
print(type(a))
​
b = a + 123
print(b)
​
c = int(input("输入:"))
print("输入一个数字:%d" % c)
"""

四、条件判断语句

 条件判断语句
​
# if False:
"""
if True:
    print("true")   # 保持缩进一样
    print("Answer")
else:
    print("false")
print("end")
"""
​
score = 77  # 分数
​
'''
if 90 <= score <= 100:
    print("优秀!A")
elif 80 <= score <= 90:
    print("等级为:B")
elif 70 <= score <= 80:
    print("等级为:C")
elif 60 <= score <= 70:
    print("等级为:D")
elif 0 <= score <= 60:
    print("本次不及格!")
    # else:                   # else可以和elif一起使用
    print("本次不及格!")
'''
​
# 嵌套用法
'''
gender = 0  # 1代表男生 , 0 代表女生
danshen = 2  # 1代表单身 , 0 代表有对象
​
if gender == 1:
    print("男生")
    if danshen == 1:
        print("我给你介绍一个吧!")
    else:
        print("给我介绍一个吧!")
else:
    print("女生")
    if danshen == 1:
        print("我给你介绍一个吧!")
    else:
        print("给我介绍一个吧!")
​
'''
​
# 引入随机数
import random
​
x = random.randint(0, 200)  # 随机生成0~200之间的数
​
print(x)

五、课堂练习

​
​
print("剪刀石头布,布刀剪头石")
​
'''
    综合使用if语句相关的知识,实现石头剪刀布游戏效果,显示以下提示信息:
    请输入:剪刀(0)、石头(1)、布(2):
    
    用户输入数字0-2中的一个数字,与系统随机生成的数字进行比较后给出结果信息。
    例如:输入0后,显示如下
    你的输入为:剪刀(0)
    随机生成的数字为1
    哈哈,你输了!:)
    
    提示:对于输入不正常的情况尽可能考虑全面,促使程序能够正常运行。、
    建议用时15~20分钟
    
'''
#
import random
​
x = random.randint(0, 2)
​
a = int(input("输入剪刀石头布(0~2的数字:剪刀(0)、石头(1)、布(2)):"))
​
if 0 <= a <= 3:
    if a == 0 and x == 0:
        print("你输入的是:剪刀(0)", a)
        print("随机生成的是:剪刀(0)", x)
        print("平局了!哈哈哈")
​
    elif a == 0 and x == 1:
        print("你输入的是:剪刀(0)", a)
        print("随机生成的是:石头(1)", x)
        print("你输了!牛啊!牛啊!")
    elif a == 0 and x == 2:
        print("你输入的是:剪刀(0)", a)
        print("随机生成的是:布(2)", x)
        print("你赢了!恭喜恭喜!!")
​
    elif a == 1 and x == 0:
        print("你输入的是:石头(1)", a)
        print("随机生成的是:剪刀(0)", x)
        print("你赢了!恭喜恭喜!!")
​
    elif a == 1 and x == 1:
        print("你输入的是:石头(1)", a)
        print("随机生成的是:石头(1)", x)
        print("平局了!哈哈哈")
​
    elif a == 1 and x == 2:
        print("你输入的是:石头(1)", a)
        print("随机生成的是:布(2)", x)
        print("你输了!牛啊!牛啊!")
​
    elif a == 2 and x == 0:
        print("你输入的是:布(2)", a)
        print("随机生成的是:剪刀(0)", x)
        print("你输了!牛啊!牛啊!")
​
    elif a == 2 and x == 1:
        print("你输入的是:布(2)", a)
        print("随机生成的是:石头(1)", x)
        print("你赢了!恭喜恭喜!!")
​
    elif a == 2 and x == 2:
        print("你输入的是:布(2)", a)
        print("随机生成的是:布(2)", x)
        print("平局了!哈哈哈")
​
    # else:
    #     print("怎么回事!")
​
else:
    print("你输入的数%d不是剪刀,石头,布。请重新输入!!" % a)
print(end="比赛结束!!")

六、循环控制语句

​
​
# for循环
print("循环控制语句")
'''
for i in range(5):
    print(i)
​
​
for i in range(0, 10, 3):          # 从0开始,到11结束,以步进值为3 (每次+3)   range(起始数,结束数,增加量),《顾头不顾腚》
    print(i)
​
​
for i in range(-10, -100, -30):              
    print(i)
    
​
​
name = "anhui"
​
for x in name:
    print(x,end="\t")
'''
'''
a = ["aa", "bb", "cc", "dd"]
​
for i in range(len(a)):
    print(i, a[i])
'''
​
# while循环
'''
i = 0
while i < 5:
    print("当前是第%d次执行" % (i + 1))
    print("i=%d", i)
    i += 1
'''
​
# 1~100求和
'''
我的:
i = 0
he = 0
while i <= 100:
    he += i
    i += 1
​
print(he)
​
he = 0
for i in range(0, 101, 1):
    he += i
    print(he)
print(he)
​
视屏:
n = 100
sum = 0
counter = 1
while counter <= n:
    sum = sum + counter
    counter += 1
print("1到%d的和为:%d" % (n, sum))
'''
​
count = 0
while count < 5:
    print(count, "小于5")
    count += 2
else:
    print(count, "大于或等于5")
​
​
# pass      空语句,一般用作占位语句,不做任何事情
​
'''
break 结束循环
continue 跳过本次循环
'''

七、使用for循环和while循环,打印九九乘法表:

​
# 使用for循环,打印九九乘法表:
for i in range(1, 10, 1):
    print(end="\n")
    for j in range(10 - i, 10, 1):
        print("%d*%d=%d" % (i, j, i * j), end="\t")
​
print(end="\n")
​
print("*" * 30, end="\n")
# 使用while循环,打印九九乘法表:
i = 1
while i <= 9:
    j = 1
    while j <= i:
        print('%d*%d = %2d' % (j, i, i * j), end='')
        j += 1
    print()
    i += 1

八、字符串

print("字符串")
'''
word = '字符串'
sentence = "这是一个句子"
paragraph = """
        这是一个段落
        可以有多行组成
"""
print(word)
print(sentence)
print(paragraph)
'''
​
'''
my_str = "I'm a student"
my_str = 'I\'m a student'
print(my_str)
'''
​
'''
my_str = "jason said \"I like you\""
my_str = 'jason said "I like you"'
print(my_str)
'''
​
'''
str = "chengdu"
​
print(str)
print(str[0])                                               
print(str[0:5])  # 从1开始   一共五个          #[起始位置:结束位置:步进值]
print(str[5])  # 从0开始   第六个  
print(str[0:6])  # 从1开始   一共六个
print(str[6])  # 从0开始   第七个
​
'''
​
'''
print(str[1:8:2])  # [起始位置:结束位置:步进值] (c)h(e)n(g)d(u) 从1开始
print(str[5:])   # 从第五个开始,显示后面的  从1开始
print(str[:5])   # 从第五个结束,显示前面的  从1开始
'''
​
print("hello\nChengdu")
print("\a响铃\a哈哈哈\b")
print(r"hello\nChengdu")  # 前面加r的,后面的\(n,t),不进行解释转义,直接显示原始字符串

九、列表List

print("列表List")

# namelist = []   # 定义一个空的列表

namelist = ["小小", "小雀", "小巧"]

'''
print(namelist[0])
print(namelist[1])
print(namelist[2])
'''

'''
# 遍历
for name in namelist:
    print(name)

# print(len(namelist))      len()可以得到列表的长度

# 遍历
lenth = len(namelist)
i = 0
while i < lenth:
    print(namelist[i])
    i += 1
'''

'''
# 增

# 增加: [append]  整体加入

print("-----增加前名单列表的数据-------")
for name in namelist:
    print(name)


namea = "小文"
namelist.append(namea)       # 在末尾追加一个元素

nametemp = input("请输入添加学生的姓名:")
namelist.append(nametemp)       # 在末尾追加一个元素


print("-----增加后名单列表的数据-------")
for name in namelist:
    print(name)


'''

'''
# 扩展 增 --- [extend]:拆散开,逐一加入
a = [1, 2]
b = [3, 4]
a.append(b)  # 列表的嵌套:将列表当做一个元素,加入a表中,二维列表
print(a)

a.extend(b)   # 将b列表中的每个元素,逐一追加到a列表中
print(a)

'''

'''
#  扩展 增 --- [inset]: 插入

a = [0, 1, 2]
a.insert(1, 3)  # 第一个变量表示下标,第二个表示元素(对象)

print(a)        # 指定下标位置,插入元素

'''

# 删
'''
# 删除    [del] [pop] [remove]         pop 弹出的意思
movieName = ["加勒比海盗", "骇客帝国", "第一滴血", "指环王", "速度与激情", "指环王"]

print("-----删除前电影列表的数据-------")
for name in movieName:
    print(name, end="\t")

# del movieName[2]    # 在指定的下标位置,删除元素
movieName.pop()       # 弹出末尾最后一个元素(相当于删除最后一个元素)
movieName.remove("指环王")  # 直接删除指定内容中,找到的第一个
print(end="\n")
print("-----删除后电影列表的数据------- ")
for name in movieName:
    print(name, end="\t")

'''

# 改
'''

# 改 :
print("-----修改前名单列表的数据-------")
for name in namelist:
    print(name, end="\t")

namelist[0] = "小美"  # 修改指定下标的内容
print(end="\n")
print("-----修改后名单列表的数据-------")
for name in namelist:
    print(name, end="\t")

'''


# 查
'''
# 查 :[in  not in]

findName = input("请输入你要查找的学生姓名:")

if findName in namelist:
    print("在学员名单中")
else:
    print("没有找到")
'''

# 拓展
'''
a = ["a", "b", "c", "a", "b"]
print(a.index("a", 1, 4))  # a[3] 第四个       可以查找指定下表范围的元素,并返回找到对应数据的下标
# print(a.index("a", 1, 3))  # 范围区间 左闭右开
# 找不到会报错

print(a.count("a"))  # 统计某个元素出现几次
'''

'''
a = [1, 4, 2, 3]

print(a)
a.reverse()     # 将列表所有元素反转
print(a)

a.sort()        # 默认升序(从低到高)排序
print(a)

a.sort(reverse=True)    # 降序 
print(a)
'''

'''
# schoolName = [[], [],  []]   # 有三个元素,每个元素都是一个空列表

schoolName = [["北京大学", "清华大学"], ["南开大学", "天津大学", "天津师范大学"],
              ["山东大学", "中国海洋大学"]]

print(schoolName[0][0])  # 二维数组
'''

# 案例
'''
# 有三个办公室,8个老师 a~h, 把八个老师随机分到三个办公室,输出并打印出来

import random

offices = [[], [], []]

names = ["A", "B", "C", "D", "E", "F", "G", "H"]
i = 0
for name in names:
    index = random.randint(0, 2)
    offices[index].append(name)

i = 1
for office in offices:
    print("办公室人数为:%d" % (i, len(office)))
    i += 1
    for name in office:
        print("%s" % name, end="\t")
    print("\n")
    print("-" * 20)

'''

'''
import random

offices = [[], [], []]
names = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
for name in names:
    index = random.randint(0, 2)
    offices[index].append(name)
i = 1
for tempNames in offices:
    print('办公室%d的人数为:%d' % (i, len(tempNames)))
    i += 1
    for name in tempNames:
        print("%s" % name, end='\t')
    print("\n")
    print("-"*20)
'''

十、 元组(Tuple)

print("元组(Tuple)")

# 元组(Tuple)
'''
tup1 = ()  # 创建空的元组
print(type(tup1))

# tup2 = (50)   #<class 'int'>
# tup2 = (50,)       # <class 'tuple'>
tup2 = (50, 60, 70) # <class 'tuple'>
print(type(tup2))       
'''

'''
tup1 = ("abc", "def", 2020, 2002, 333, 444, 555, 666)

print(tup1[0])
print(tup1[-1])         # 访问最后一个元素
print(tup1[0:5])        # 左闭右开,进行切片 不包括5

'''

# 增
'''
# 增(连接起来,新建一个)
tup1 = (12, 34, 56)
tup2 = ("abc", "xyz")

tup = tup1 + tup2           直接新建一个元组
print(tup)

'''


# 删
'''
# 删
tup1 = (12, 34, 56)
print(tup1)
del tup1
print("删除后")    # 删除整个元组
print(tup1)
'''

# 改
'''
# 不能改
tup1 = (12, 34, 56)

tup1[0] = 100  # 保错,不允许修改

'''

# 查

十一、核心数据类型-- 字典 ( dict )

核心数据类型-- 字典(dict) 也是数据结构(要对增删改查有了解)

print("字典!")

# 使用键值对(key-value)存储  键(key)必须是唯一的

# 字典的定义
'''
info = {"name": "吴彦祖", "age":  666}

'''

# 字典的访问
''' 
print(info["name"])
print(info["age"])
'''

# 访问了不存在的键
'''

# print(info["gender"])       # 直接访问会保错

# print(info.get("gender"))  # 使用 get方法 - 若没有找到对应的键 -默认返回none

print(info.get("gender", "m"))  # 没找到的时候 可以设定默认值
print(info.get("age", "666"))  # 找到的话,直接输出

'''

# 增
'''
# 增
info = {"name": "吴彦祖", "age": 666}

newID = input("请输入新增的学号")
info["id"] = newID

print(info["id"])

'''

# 删

# 删除(del)
'''
info = {"name": "吴彦祖", "age": 666}
print("删除前:%s" % info["name"])

del info["name"]    # 删除的是整个键值对的内容

'''

# print("删除后:%s" % info["name"])    # 删除了指定的键值对后,再次访问会报错
'''
info = {"name": "吴彦祖", "age": 666}
print("删除前:%s" % info)

del info
'''

# 清除(clear)
'''
info = {"name": "吴彦祖", "age": 666}
print("删除前:%s" % info)

info.clear()

print("删除后:%s" % info)

'''

# 改
'''
# 改
info = {"name": "吴彦祖", "age": 666}
print("更改前:%s" % info["age"])

info["age"] = 555
print("更改前:%s" % info["age"])
'''

# 查

# 查 (遍历)
info = {"id": 11200309, "name": "吴彦祖", "age": 666}

'''
print(info.keys())  # 得到所有的键(列表形式)

print(info.values())  # 得到所有的值(列表形式)
 
print(info.items())  # 得到所有的项(列表形式,一对一对的)

'''

# 遍历所有的键
'''
for key in info.keys():
    print(key)
'''

# 遍历所有的值
'''
for value in info.values():
    print(value)
'''

# 遍历所有的键值对
'''
for key, value in info.items():
    print("key=%s,value=%s" % (key, value))
'''

#  使用枚举函数 ,同时拿到列表中的下标和元素内容      enumerate  枚举类型
'''
mylist = ["a", "b", "c", "d"]

for i, x in enumerate(mylist):      # 打印下标
    print(i, x)
'''

# 集合 set  可以用来做去重的操作

十二、函数

print("函数")

# 定义和调用
'''
# 函数的定义
def printinfo():
    print("-----------------------")
    print("   人生苦短,我用python  ")
    print("-----------------------")

# 函数的调用

printinfo()
'''

# 带参数的函数
'''
def add2Num(a, b):
    c = a + b
    print(c)


add2Num(11, 22)

'''

# 带返回值的函数
'''
def add2Num(a, b):
    return a + b  # 通过return来返回运算结果


# print(add2Num(11, 22))
result = add2Num(11, 22)
print(result)
'''


# 返回多个值的函数
'''
def divid(a, b):  # divid 除法
    shang = a // b
    yushu = a % b
    return shang, yushu     #多个返回值使用逗号分隔开


sh, yu = divid(5, 2)        # 需要使用多个值来保存返回内容

print(sh, yu)

'''

十三、 课堂练习

print("函数")

'''
1、写一个打印一条横线的函数。(提示:横线是由若干个"-"组成)
2、写一个函数,可以通过输入的参数,打印出自定义行数的横线。(提示:点用上面的函数)
3、写一个函数,求三个数的和
4、写一个函数,求三个数的平均值。(调用上面的函数)
'''

# 1、写一个打印一条横线的函数。(提示:横线是由若干个"-"组成)
'''
def heng():
    print("-" * 15)


heng()
'''

# 2、写一个函数,可以通过输入的参数,打印出自定义行数的横线。(提示:点用上面的函数)
'''
def xian():
    hang = int(input("想要打印的行数:"))
    i = 0
    while i < hang:
        heng()
        i += 1


xian()

'''

# 3、写一个函数,求三个数的和
'''
我的:
def sum():
    a = int(input("输入整数a:"))
    b = int(input("输入整数b:"))
    c = int(input("输入整数c:"))
    he = a + b + c
    print(he)


# sum()
'''


# 要有返回值,
def sum(a, b, c):
    he = a + b + c
    return he


he = sum(5, 1, 4)
print(he)


# 4、写一个函数,求三个数的平均值。(调用上面的函数)

def pro(a, b, c):
    sum(a, b, c)
    ping = sum(a, b, c) / 3
    print(ping)


pro(5, 2, 5)

十四、全局变量和局部变量

全局变量和局部变量

print("")
# 局部变量
'''
def test1():
    a = 300  # 局部变量
    print("test1---修改前:a=%d" % a)
    a = 100
    print("test1---修改后:a=%d" % a)


def test2():
    a = 521
    print("test1---修改后:a=%d" % a)


test1()
test1()

'''

# 全局变量
'''
a = 100  # 全局变量


def test1():
    print(a)


def test2():
    print( a)


test1()
test1()

'''

# 全局变量和局部变量相同名字
'''
a = 100


def test1():
    a = 300  # 局部变量优先使用,没有局部使用全局
    print("test1---修改前:a=%d" % a)
    a = 200
    print("test1---修改后:a=%d" % a)


def test2():
    print("test2---修改后:a=%d" % a)


test1()
test2()
'''

#   在函数中修改全局变量

a = 100


def test1():
    global a    # 声明全局变量在函数中的标识符, 调用全局变量在函数中的使用
    print("test1---修改前:a=%d" % a)
    a = 200
    print("test1---修改后:a=%d" % a)


def test2():
    print("test2---修改后:a=%d" % a)           # 没有局部变量,你默认使用全局变量


test1()
test2()

十五、文件

print("文件")
# 文件
# w 写模式
'''
f = open("test.txt", "w")   # 打开文件 w模式(写模式)如果文件不存在,就会新创一个文件

f.write("hello world,I'm here")

f.close()           # 关闭文件

'''

# read方法,读取指定的字符,开始时定位在文件头部,每执行一次向后移动指定字符数
'''
f = open("test.txt","r")

content = f.read(5)

print(content)

content = f.read(5)

print(content)

f.close()
'''

'''
f = open("test.txt", "r")

content = f.readlines()  #  一次性读取全部文件,全部放在内存里成为列表,每行一个字符串元素,一个文档全部读完

print(content)

i = 1   # 行号
for temp in content:
    print("%d:%s" % (i, temp))
    i +=1

f.close()
'''

'''
f = open("test.txt", "r")

content = f.readline()
print("1:%s" % content, end="")

content = f.readline()
print("2:%s" % content)

f.close()
'''

# 文件的相关操作
import os

# 文件的重名名
os.rename("test.txt", "name.txt")

十六、 错误与异常

import time

print("")

# 错误与异常

# 发生异常
'''
    print("-----text-----1---")
    f = open("123.txt", "r")      # 用只读打开了一个不存在的文件,报错
    print("-----text-----2---")
'''

# 捕获异常
'''
try:
    print("-----text-----1---")
    f = open("123.txt", "r")  # 用只读打开了一个不存在的文件,报错
    print("-----text-----2---")

except IOError:     # 文件没找到,属于IO异常(输入输出异常)
    pass            # 捕获异常后执行的代码

'''

'''
try:
    print("-----text-----1---")
    f = open("123.txt", "r")  #
    print("-----text-----2---")

    print(num)
except (NameError,IOError):     # 将可能产生的所有异常类型,都放到下面的小括号中
    print("产生错误")

'''

# 获取错误描述
'''
try:
    print("-----text-----1---")
    f = open("123.txt", "r")  #
    print("-----text-----2---")

    print(num)
except (NameError,IOError) as result:     # 将可能产生的所有异常类型,都放到下面的小括号中
    print("产生错误")
    print(result)
'''

# 捕获所有的异常
'''
try:
    print("-----text-----1---")
    f = open("name.txt", "r")  #
    print("-----text-----2---")

    print(num)
except Exception as result:     # Exception可以承接任何异常,它是所有异常的父类
    print("产生错误")
    print(result)


'''

# try …… finally  和嵌套

try:
    f = open("name.txt", "r")

    try:
        while True:
            content = f.readline()
            if len(content) == 0:
                break
            time.sleep(1)
            print(content)
    finally:
        f.close()
        print("文件关闭")

except Exception as result:
    print("发生异常……")

十七、爬

# 一个主函数
def main():
    print("主函数")

#   四、开始爬


#  二、指定网页规则


# 三、数据保存的地方

# 一、先要有入口
if __name__ == "__main__":
    main()

flask_demo

D:\xuexiruanjian\python\daima\baocun

课堂练习: 剪刀石头布,布刀剪头石

综合使用if语句相关的知识,实现石头剪刀布游戏效果,显示以下提示信息:

请输入:剪刀(0)、石头(1)、布(2):

用户输入数字0-2中的一个数字,与系统随机生成的数字进行比较后给出结果信息。 例如:输入0后,显示如下

你的输入为:剪刀(0)
    随机生成的数字为:石头(1)
    哈哈,你输了!:)

提示:对于输入不正常的情况尽可能考虑全面,促使程序能够正常运行。、 建议用时15~20分钟

剪刀石头布

import random
​
x = random.randint(0, 2)
​
a = int(input("输入剪刀石头布(0~2的数字:剪刀(0)、石头(1)、布(2)):"))
​
if 0 <= a <= 3:
    if a == 0 and x == 0:
        print("你输入的是:剪刀(0)", a)
        print("随机生成的是:剪刀(0)", x)
        print("平局了!哈哈哈")
​
    elif a == 0 and x == 1:
        print("你输入的是:剪刀(0)", a)
        print("随机生成的是:石头(1)", x)
        print("你输了!牛啊!牛啊!")
    elif a == 0 and x == 2:
        print("你输入的是:剪刀(0)", a)
        print("随机生成的是:布(2)", x)
        print("你赢了!恭喜恭喜!!")
​
    elif a == 1 and x == 0:
        print("你输入的是:石头(1)", a)
        print("随机生成的是:剪刀(0)", x)
        print("你赢了!恭喜恭喜!!")
​
    elif a == 1 and x == 1:
        print("你输入的是:石头(1)", a)
        print("随机生成的是:石头(1)", x)
        print("平局了!哈哈哈")
​
    elif a == 1 and x == 2:
        print("你输入的是:石头(1)", a)
        print("随机生成的是:布(2)", x)
        print("你输了!牛啊!牛啊!")
​
    elif a == 2 and x == 0:
        print("你输入的是:布(2)", a)
        print("随机生成的是:剪刀(0)", x)
        print("你输了!牛啊!牛啊!")
​
    elif a == 2 and x == 1:
        print("你输入的是:布(2)", a)
        print("随机生成的是:石头(1)", x)
        print("你赢了!恭喜恭喜!!")
​
    elif a == 2 and x == 2:
        print("你输入的是:布(2)", a)
        print("随机生成的是:布(2)", x)
        print("平局了!哈哈哈")
​
    else:
        print("怎么回事!")
​
else:
    print("你输入的数不是剪刀,石头,布。请重新输入!!:", a)
print("end")

打印九九乘法表

for i in range(1, 10, 1):
    print(end="\n")
    for j in range(10-i, 10, 1):
        print("%d*%d=%d" % (i, j, i * j), end="\t")
​
用while循环 输出一个九九乘法表:
方法一:
  i = 1   
  while i < 10:
      k = 1
      while k <= i:
          print('%d*%d=%2d   '% (i,k,i*k),end='') #end=‘’  表示不换行(系统默认输出完毕换行)
          k += 1
      print()
      i += 1
        
方法二:
  a = 9
  while a > 0:
      i = 1
      while i <= a:
 
          print('%d * %d = %2d  '%(a,i,a*i),end= '')
          i += 1
      print()
      a -= 1

字符串拓展

str = "chengdu"
​
print(str)
print(str[0])
print(str[0:5])  # 从1开始   一共五个
print(str[5])   # 从0开始   第六个
print(str[0:6])     # 从1开始   一共六个
print(str[6])  # 从0开始   第七个
​
print(str[1:8:2])  # [起始位置:结束位置:步进值] (c)h(e)n(g)d(u) 从1开始
print(str[5:])   # 从第五个开始,显示后面的  从1开始
print(str[:5])   # 从第五个结束,显示前面的  从1开始
​

应用练习

一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配

import random
​
offices = [[], [], []]
names = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
for name in names:
    index = random.randint(0, 2)
    offices[index].append(name)
i = 1
for tempNames in offices:
    print('办公室%d的人数为:%d' % (i, len(tempNames)))
    i += 1
    for name in tempNames:
        print("%s" % name, end='\t')
    print("\n")
    print("-"*20)
    
数据类型是否有序是否可变类型
列表[ ]有序可变类型
元组( )有序不可变类型
字典{ }无序key不可变 value可变
集合{ }无序可变类型(不重复)

核心数据类型

字典

# 核心数据类型-- 字典(dict) 也是数据结构(要对增删改查有了解)
​
print("字典!")
​
# 使用键值对(key-value)存储  键(key)必须是唯一的
​
# 字典的定义
​
info = {"name": "吴彦祖", "age": 666}
​
​
# 字典的访问
​
print(info["name"])
print(info["age"])
​
​
# 访问了不存在的键
​
# print(info["gender"])       # 直接访问会保错
​
# print(info.get("gender"))  # 使用 get方法 - 若没有找到对应的键 -默认返回none
​
print(info.get("gender", "m"))  # 没找到的时候 可以设定默认值
print(info.get("age", "666"))  # 找到的话,直接输出
​
# 增
info = {"name": "吴彦祖", "age": 666}
​
newID = input("请输入新增的学号")
info["id"] = newID
​
print(info["id"])
​
​
# 删除(del)
​
info = {"name": "吴彦祖", "age": 666}
print("删除前:%s" % info["name"])
​
del info["name"]    # 删除的是整个键值对的内容
​
​
​
# print("删除后:%s" % info["name"])    # 删除了指定的键值对后,再次访问会报错
​
info = {"name": "吴彦祖", "age": 666}
print("删除前:%s" % info)
​
del info
​
​
# 清除(clear)
​
info = {"name": "吴彦祖", "age": 666}
print("删除前:%s" % info)
​
info.clear()
​
print("删除后:%s" % info)
​
​
# 改
info = {"name": "吴彦祖", "age": 666}
print("更改前:%s" % info["age"])
​
info["age"] = 555
print("更改前:%s" % info["age"])
​
​
# 查 (遍历)
info = {"id": 1, "name": "吴彦祖", "age": 666}
​
print(info.keys())  # 得到所有的键(列表形式)
​
print(info.values())  # 得到所有的值(列表形式)
​
print(info.items())  # 得到所有的项(列表形式,一对一对的)
​
​
# 遍历所有的键
​
for key in info.keys():
    print(key)
​
​
# 遍历所有的值
​
for value in info.values():
    print(value)
​
​
# 遍历所有的键值对
​
for key, value in info.items():
    print("key=%s,value=%s" % (key, value))
​
​
#  使用枚举函数 ,同时拿到列表中的下标和元素内容
​
mylist = ["a", "b", "c", "d"]
​
for i, x in enumerate(mylist):      # 打印下标
    print(i, x)
​

课堂练习

​
​
print("函数")
​
'''
1、写一个打印一条横线的函数。(提示:横线是由若干个"-"组成)
2、写一个函数,可以通过输入的参数,打印出自定义行数的横线。(提示:点用上面的函数)
3、写一个函数,求三个数的和
4、写一个函数,求三个数的平均值。(调用上面的函数)
'''
​
# 1、写一个打印一条横线的函数。(提示:横线是由若干个"-"组成)
​
def heng():
    print("-" * 15)
​
​
heng()
​
​
# 2、写一个函数,可以通过输入的参数,打印出自定义行数的横线。(提示:点用上面的函数)
​
def xian():
    hang = int(input("想要打印的行数:"))
    i = 0
    while i < hang:
        heng()
        i += 1
​
​
xian()
​
​
# 3、写一个函数,求三个数的和
​
#我的:
def sum():
    a = int(input("输入整数a:"))
    b = int(input("输入整数b:"))
    c = int(input("输入整数c:"))
    he = a + b + c
    print(he)
​
​
# sum()
​
​
​
# 要有返回值,
def sum(a, b, c):
    he = a + b + c
    return he
​
​
print(sum(5, 1, 4))
​
​
 4、写一个函数,求三个数的平均值。(调用上面的函数)
​
def pro(a, b, c):
    sum(a, b, c)
    ping = sum(a, b, c) / 3
    print(ping)
​
​
pro(5, 2, 5)

爬虫初识

# import bs4      # 网页解析,获取数据
from bs4 import BeautifulSoup    # 网页解析,获取数据
import re  # 正则表达式,进行文字匹配
import urllib.request, urllib.error  # 制定URL 获取网页数据
import xlwt  # 进行Excel的操作
import sqlite3  # 进行SQLite数据库操作

# 可以进入cmd的python pip bs4 在线下载
print("爬虫的任务介绍,爬虫初识")


# 天眼查 查公司,老板

# https://movie.douban.com/top250       ?start = 25 从25后开始显示

# 豆瓣

def main():
    print("hello!")


if __name__ == "__main__":  # 当程序执行时,作为整个程序的入口
    #      调用函数
    main()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值