一、连续打印hello python 三次**

n = 0
while n < 3:
    print("hello,python")
    n += 1
print("循环次数n=%d" % n)

输出结果:
hello,python
hello,python
hello,python
循环次数n=3

二、求0到100求和

# 使用while循环
n = 0
sum =0
while(n<=100):
    sum=sum+n
    n = n + 1
print("前%d项的和为%d"%(n-1,sum))

# 使用for循环
sum = 0
for n in range(1,101):
    sum += n
print(sum)

# 直接一行代码打印
print(sum(range(1,101)))

三、0到10偶数求和

n = 0
s = 0
while n <= 10:
    if n % 2 == 0:
        print(n)
        s += n
    n += 1
print("0到 %d 偶数求和为 %d" % (n-1,s))

输出结果
0
2
4
6
8
10
0到 10 偶数求和为 30

四、打印6行*,行数和 *数量一致

row =1
while row < 7:
    result = row * "*"
    row +=1
    print(result)

五、判断年龄,IF语句

age = int(input("请输入年龄"))
if age < 18:
    print("年龄不满18,禁止进入")
else:
    print("年龄已满18, 请进网吧")

六、IF嵌套,

has_ticker =True
knife_length = int(input("请输入刀长"))
if has_ticker:
    print("车票检查通过,准备开始安检")
    if knife_length >= 20:
        print("您携带的刀长为 %d ,刀长大于20cm,禁止上车" % knife_length)
    else:
        print("可以进入上车")
else:
    print("请先买车票")

七、打印随机数

import random
c = random.randint(1,10)
print(c)

八、break关键字的使用

i = 0
while i < 10:
    print(i)
    # 当i=3 时跳出循环
    if i == 3:
        break
    i += 1

九、continue关键字的使用

i = 0
while i < 10:
    if i == 3:
        i += 1
        continue
    print(i)
    i += 1

十、打印九九乘法表

for i in range(1,10):
    for j in range(1,i+1):
        print("%d*%d=%2d"%(j,i,j*i),end='  ')
    print(" ")

或者使用while语句实现

i=1
while i<10:
    j=1
    while j<=i:
        print("%d*%d=%2d"%(j,i,j*i),end='  ')
        j+=1
    print("")
    i+=1

十一、使用return返回结果

def sum_num(num1,num2):
    # 只在函数内部打印了结果
    result = num1+num2
    print("%d+%d=%d" %(num1,num2,result))

sum_num(3,40.2)
def sum_num(num1, num2):
    result = num1 + num2
    return result


sum_result = sum_num(20, 30)  # 在函数外部打印输出结果
print(sum_result)

十二、列表的基本使用

name_list = ["zhangsan","lisi","wangwu"]

# 取值和取索引
print(name_list[0])
print(name_list.index("lisi"))

# 修改
name_list[1] = "李四"

# 增加
name_list.append("zhangliu")  # 在末尾插入数据
name_list.insert(1,"xiaohong")  # 在指定位置插入数据
temp_list = ["sunwukong","zhubajie"]
name_list.extend(temp_list)  # 把其他列表的内容增加到列表的尾部

# 删除
name_list.remove("wangwu")
name_list.pop()  # 默认把列表中最后一个元素删除
name_list.pop(2)  # 可以指定删除的索引
name_list.clear()  # clear可以清空列表
del name_list[0]  # 本质上时把一个变量从内存中删除
print(name_list)
name_list = ["zhangsan","lisi","wangwu","zhangsan"]
# 统计
list_len = len(name_list)
print(list_len)
count = name_list.count("zhangsan")
print("某个指定的数据出现的次数为%d" %count)
name_list.remove("zhangsan")  # 默认删除第一次出现的数据
print(name_list)
name_list = ["zhangsan","lisi","wangwu","xiaon"]
num_list = [1,8,6,4,9]
# 升序
name_list.sort(reverse=True)
num_list.sort(reverse=True)
# 降序
name_list.sort(reverse=True)
num_list.sort(reverse=True)
# 逆序or翻转
name_list.reverse()
num_list.reverse()
print(name_list)
print(num_list)

十三、元组的基本使用

tuple = ("zhangsan",18,1.75)
# 取值和取索引
print(tuple[0])
print(tuple.index("zhangsan"))
# 统计和计数
print(tuple.count("zhangsan"))
print(len(tuple))

十四、字典的基本使用

dict = {"name": "小明",
        "age": 18,
        "gender": True,
        "weight": 75.5}

print(dict["name"])  # 取值
dict["num"] = 10  # 增加
dict["name"] = "xiao小"  # 修改
print(dict)
dict.pop("name")  # 删除

print(dict)
#  统计键值对的数量
print(len(dict))
# 合并字典
temp_dict = {"血压": 120,
             "age": 20}
dict.update(temp_dict)
print(dict)
# 3清空字典
dict.clear()
print(dict)

dict = {"name": "小明",
        "age": 18,
        "gender": True,
        "weight": 75.5}
# 字典的遍历
for i in dict:
    print("%s-%s" % (i, dict[i]))

十五、遍历目录文件

使用listdir遍历目录文件
import os
path = "D:\WORK"
dirs = os.listdir(path)
for file in dirs:
    # 调用listdir方法遍历path目录
    # print(file)
    # 使用os模块下的join方法连接遍历的目录路径和文件名称
    print(os.path.join(path,file))

# 使用walk递归遍历目录文件,walk方法会返回一个三元组,分别是root、dirs和files。
# 其中root是当前正在遍历的目录路径;dirs是一个列表,包含当前正在遍历的目录下所有的子目录名称,不包含该目录下的文件;
# files也是一个列表,包含当前正在遍历的目录下所有的文件,但不包含子目录。
import os
path = "D:\Microsoft_Intune_Setup"
for root, dirs, files in os.walk(path):
    for name in files:
        print(os.path.join(root,name))
    for name in dirs:
        print(os.path.join(root,name))


# 在指定的目录中搜索文件
import os
path = "D:\WORK"
filename = "RS11.vhdx"
for root, dirs, files in os.walk(path):
    for name in files:
        if (filename== name):
            print(os.path.join(root,name))

十六、字符串的查找与替换

hello = "hello world"
# 查找指定的字符串
print(hello.find("llo"))
# 替代字符串
print(hello.replace("world","python"))
print(hello)

十七、字符串的拆分与连接

poem = "白日依山尽\n黄河入海流\t欲穷千里目\t\n"
poem_list = poem.split()
print(poem_list)
result = " ".join(poem_list)
print(result)

十八、搜索字典列表

findname="zhang"
# 搜索字典列表
student = [
    {"name":"xiaomei"},
    {"name":"atu"}
]
for stu_dict in student:
    print(stu_dict)
    if stu_dict["name"] == findname:
        print("找到了%s" %findname)
        break

else:
    # 所有字典检查之后都没发现搜索目标,需要得到一个提示
    print("没有找到%s" %findname)
        # break
print("查询结束")

十九、接收函数的返回值

def measure():
    print("测量开始。。。")
    temp = 39
    wetness = 50
    print("测量结束。。。")
    # 元组可以包含多个数据,所以一次返回多个值, 如果返回值是元组,小括号可以省略
    # return(temp, wetness)
    return temp,wetness
result = measure()
print(result)
# 单独处理温度湿度
print(result[0])
print(result[1])
# 使用多个变量一次接受函数的返回结果,
gl_temp,gl_wetness = measure()
print(gl_temp,gl_wetness)
测量开始。。。
测量结束。。。
(39, 50)
39
50
测量开始。。。
测量结束。。。
39 50

二十、交换两个变量的值

# 1、使用其他变量
a= 6
b = 10

c = a
a = b
b = c

print(a)
print(b)
# 2、使用元组
a= 6
b = 10
a,b = b,a
print(a)
print(b)

二十一、拆包

def demo(*args,**kwargs):
    print(args)
    print(kwargs)
gl_nums = (1,2,3)
gl_dict = {"name":"xiaoming","age":18}
demo(*gl_nums,**gl_dict)

二十二、第一个面向对象的程序

# 第一个面向对象的程序
class Cat:
    def eat(self):
        print("小猫爱吃鱼")
    def drink(self):
        print("小猫爱喝水")
# 创建猫对象
tom = Cat()
tom.eat()
tom.drink()

二十三、面向对象封装案例

#面向对象封装案例
class Person:
    def __init__(self,name1,weight1):
        self.name = name1
        self.weight = weight1
    def __str__(self):
        return "我的名字是%s,体重是%.2f" %(self.name,self.weight)
    def run(self):
        print("%s爱跑步" %self.name)
        self.weight -= 0.5
    def eat(self):
        print("%s爱吃东西" %self.name)
        self.weight += 1
xiaoming = Person("小明",75.0)
xiaoming.run()
xiaoming.eat()
print(xiaoming)

xiaomei = Person("小mei",45.0)
xiaomei.run()
xiaomei.eat()
print(xiaomei)
小明爱跑步
小明爱吃东西
我的名字是小明,体重是75.50
小mei爱跑步
小mei爱吃东西
我的名字是小mei,体重是45.50

二十四、面向对象封装案例二

class Houseitem:
    def __init__(self,name1,area1):
        self.name = name1
        self.area = area1
    def __str__(self):
        return "%s占地 %.2f平米" %(self.name,self.area)
class House:
    def __init__(self,house_type2,area2):
        self.house_type =house_type2
        self.arae = area2
        self.free_area = area2
        self.item_list = []
    def __str__(self):
        return ("户型: %s 总面积:%.2f[剩余:%.2f] 家具:%s "
               %(self.house_type,self.arae,
                 self.free_area , self.item_list))
    def add_item(self,item):
        print("要添加的%s是---" %item)
        # 1判断家具的面积
        if item.area > self.free_area:
            print("%s面积太大" % item.name)
            return
        # 2家具的名称添加进列表
        self.item_list.append(item.name)
        # 3计算剩余面积
        self.free_area -= item.area

# 1创建家具
bed = Houseitem("席梦思",4)
chest = Houseitem("餐桌",2)
table = Houseitem("餐桌",1.5)
print(bed)
print(chest)
print(table)

# 2创建房子的对象
my_home = House("两室一厅",60)
my_home.add_item(bed)
my_home.add_item(chest)
my_home.add_item(table)
print(my_home)
席梦思占地 4.00平米
餐桌占地 2.00平米
餐桌占地 1.50平米
要添加的席梦思占地 4.00平米是---
要添加的餐桌占地 2.00平米是---
要添加的餐桌占地 1.50平米是---
户型: 两室一厅 总面积:60.00[剩余:52.50] 家具:['席梦思', '餐桌', '餐桌']

二十五、面向对象封装案例三

class Gun:
    def __init__(self,model1):
        # 1枪的型号
        self.model =model1
        # 2子弹数量
        self.buttel_count = 0
    def add_bullet(self,count):
        self.buttel_count += count
    def shot(self):
        # 1判断子弹数量
        if self.buttel_count <= 0 :
            print("%s没有子弹了" %self.model)
            return
        # 2发射子弹
        self.buttel_count -= 1
        # 3提示发射信息
        print("%s发射了一枚子弹,剩余子弹数量%d" %(self.model,self.buttel_count))
class Soldier:
    def __init__(self,name2):
        # 1新兵的姓名
        self.name = name2
        # 2给新兵定义枪
        self.gun = None
    def fire(self):
        # 1判断是否有枪
        # if self.gun == None:
        if self.gun is None:
            print("%s没有枪" %self.name)
        # 2喊口号
        print("%s冲呀" %self.name)
        # 3让枪装子弹
        self.gun.add_bullet(30)
        # 4发射子弹
        self.gun.shot()


# 创建枪对象,调用两个方法
gungun = Gun("AK47")
# gungun.add_bullet(10)
# gungun.shot()
# 创建许三多
xusanduo = Soldier("许三多")
xusanduo.gun = gungun
xusanduo.fire()

二十六、继承

class Animal:
    def eat(self):
        print("吃--")
    def drink(self):
        print("喝")
class Dog(Animal):
    # 子类拥有父类的所有属性和方法
    def bark(self):
        print("叫")
class Xiaotianquan(Dog):
    def fly(self):
        print("飞")
    def bark(self):
        # 1针对子类需求编写代码
        print("神一样的叫唤。。。")
        # 2使用super(). 调用原本在父类中封装的方法
        super().bark()
        # 3增加其他子类的代码
        print("jiao%^&*((")

wangcai = Dog()
wangcai.eat()
wangcai.drink()
wangcai.bark()

xtq = Xiaotianquan()
xtq.eat()
xtq.fly()
xtq.bark()
吃--
喝
叫
吃--
飞
神一样的叫唤。。。
叫
jiao%^&*((

二十七、多态

class Dog(object):
    def __init__(self,name):
        self.name = name
    def game(self):
        print("%s蹦跳的玩耍" %self.name)
class Xiaotiandog(Dog):
    def game(self):
        print("%s飞到天上玩" %self.name)
class Person(object):
    def __init__(self,name):
        self.name = name
    def game_with_dog(self,dog):
        print("%s he %s 快乐的玩耍" %(self.name,dog.name))
        dog.game()
# wangcai = Dog("旺财")
wangcai = Xiaotiandog("飞天旺财")
xiaoming = Person("小明")
# 让小明调用和狗玩的方法
xiaoming.game_with_dog(wangcai)