黑马程序员-python

for循环的嵌套使用

i=1
for i in range(1,101):
    print(f"今天是第{i}天")
    for j in range(1,11):
        print(f"给小美送{j}朵玫瑰")
    print("喜欢你")

注:嵌套for循环通过缩进确定层次关系 

continue (中断所在循环,进入所在循环的下一次)

for i in range(1,6):
    print("语句1")
    for j in range(1,6):
        print("语句2")
        continue
        print("语句3")
    print("语句4")

#输出内容:

语句1
语句2
语句2
语句2
语句2
语句2
语句4

(重复5次)

 break:(直接结束所在循环)

for i in range(1,6):
    print("语句1")
    for j in range(1,101):
        print("语句2")
        break
        print("语句3")
    print("语句4")

输出内容:

语句1

语句2

语句4

(重复5次)

 continue、break发工资案例

money=10000
i=1
for i in range (1,21):
    import random
    num = random.randint(1, 10)
    if num <5:
        print(f"员工{i},绩效分{num},低于5,不发工资,下一位")
        continue

    if money >= 1000:
        money -= 1000
        print(f"员工{i},满足条件发放工资1000,公司账户余额:{money}")
    else:
        print(f"余额不足,不发了,下个月再来")
        break

函数

参数

def add(number1,number2):            ##传入参数的数量不受限制,也可以没有
    result=number1+number2
    print(f"{number1}+{number2}的结果是{result}")
add(5,6)

 返回值(函数体遇到return,函数体内的之后的代码都不执行)

语法:

def 函数(参数):

        函数体

        return 返回值

变量=函数(参数) 

例子:

def add(x,y):
    result = x+y
    return result
    print("我完事了")  #该代码不会执行
r=add(1,2)
print(r)

变量

局部变量:定义在函数内部,不能在函数外部访问(定义在函数内部)

全局变量:函数体内、外都能生效(定义在函数外部)

使用global关键字可以在函数内部声明变量为全局变量

x=3
def number():
    global x
    x=5
    print(x)
number()
print(x)

###输出两个5

函数综合案例(银行存取款)

#定义全局变量
money=5000000
name=input("请输入您的姓名")

#定义查询函数
def query(show_header):
    if show_header:
        print("--------查询余额-----------")
    print(f"{name},您的账户余额为:{money}元")

#定义存款函数
def saving(num):
    global money
    money+=num
    print("--------存款-----------")
    print(f"{name},您好,您存款{num}元成功")
    query(False)

#定义取款函数
def get_money(num):
    global money
    money-=num
    print("--------取款-----------")
    print(f"{name},您好,您取款{num}元成功")
    query(False)

#定义主菜单函数
def main():
    print("----------主菜单----------")
    print(f"{name},你好,欢迎来到黑马银行ATM,请选择操作:")
    print("查询余额     [输入1]")  #通过\t对齐输出
    print("存款        [输入2]")
    print("取款        [输入3]")
    print("退出        [输入4]")
    return input("请输入您的选择: ")

#设置无限循环
while True:
    keyboard_input = main()
    if keyboard_input == "1":
        query(True)
        continue  #返回主菜单
    elif keyboard_input == "2":
        num = int(input("您想要存多少钱,请输入: "))
        saving(num)
        continue
    elif keyboard_input == "3":
        num = int(input("您想要取多少钱,请输入: "))
        get_money(num)
        continue
    else:
        print("退出程序")
        break

数据容器

list

list=["nihao",666,True]   #列表可以存储多个数据,且可以为不同的数据类型

list=[[1,2,3],[4,5,6]]        #列表可嵌套 (将4取出来list[1][0])

###查看1的索引是多少
mylist=[1,2,3]
index=mylist.index(1)
print(index)  #输出0

###修改元素

mylist[0]=9
print(mylist)  #[9, 2, 3]

###插入元素

mylist.insert(1,8)
print(mylist)  #[9, 8, 2, 3]

###追加元素(追加到尾部)

mylist.append(7)
print(mylist)  #[9, 8, 2, 3, 7]
mylist.extend(["li","zong","ping"])
print(mylist)  #[9, 8, 2, 3, 7, 'li', 'zong', 'ping']

###删除元素

mylist=[1,2,3]
del mylist[0]
print(mylist)   #[2, 3]
mylist=[1,2,3]
element=mylist.pop(0)  #pop可将移除的元素取出来
print(element) #1
print(mylist)  #[2,3]
mylist=[1,2,3]
mylist.remove(2)  ##remove移除具体的值
print(mylist) #[1,3]
mylist=[1,2,3]
mylist.clear()  ##clear清空列表
print(mylist)  #[]

###统计列表内某元素的数量

mylist=["ni","hao","ya","hao","hao"]
count=mylist.count("hao")
print(count)   #3

###统计列表元素个数

mylist=["ni","hao","ya","hao","hao"]
len=len(mylist)
print(len)  #5

列表的遍历

###法1---while
mylist=["ni","hao","ya"]
index=0
while index < len(mylist):
    print(mylist[index])
    index+=1

###法2---for
for i in mylist:
    print(i)

例:

mylist=[]
for i in range(1,11):
    if i % 2 == 0:
        mylist.append(i)
print(mylist)   #[2, 4, 6, 8, 10]

tuple

元组不可修改,元素可为不同类型,index \ count \ len语法、遍历与列表相同 

t1=(1,)    #元组由逗号标识,单个元素必须有逗号 

t2=((1,2,3),(4,5,6))  #t2[1][0] 将4取出

####元组中的列表可以修改

t3=(1,2,["ni","hao"])
t3[2][0]="ya"
print(t3)   #(1, 2, ['ya', 'hao'])

str

字符串不可修改  index count len 遍历(for/while循环)与前相同 ,支持下表索引 

str1="ni hao ya"
print(str1.index("h"))  #3

###字符串的的替换

str1="ni hao ya"
str2=str1.replace("ya","ba")
print(str2)   #ni hao ba

###字符串的分割

str1="ni hao ya"
str2=str1.split(" ")
print(str2)           #['ni', 'hao', 'ya']
print(type(str2))     #<class 'list'>

###字符串的规整操作(去前后空格)

str1="  ni hao ya  "
print(str1)          #  ni hao ya  
print(str1.strip())  #ni hao ya                #不传参数,去除首尾空格
str1="12ni hao ya21"
print(str1.strip("12"))    #ni hao ya  去除字符串12(无顺序之分)

###统计字符串中某字符串出现的次数

str1="ni hao ya"
print(str1.count("a"))  #2

###统计长度

str1="ni hao ya"
print(len(str1))  #9  一个空格算一个

序列的切片操作

序列:内容连续、有序,可使用下表索引的一类数据容器,列表、元组、字符串均可视为序列,序列支持切片

切片:从一个序列中,取出一个子序列

文件

“w”模式--清空并写入

“a”模式--追加 ZXZ

test1=open("C:/Users/76325/Desktop/python/test1.txt","w",encoding="UTF-8")
test1.write("hello World!")
test1.flush()    #删除了文件中的全部内容,并将hello World!写入其中

或test1.close()  #内置flush功能

异常

异常的捕获

捕获所有异常:

1.except:

2.except exception:

异常的传递

异常具有传递性

模块

模块的导入

语法:from 模块名 import 功能名 (*代表所有功能)[as 别名]

当导入不同模块中的同名功能时,后导入的功能会将前导入的覆盖

if __name__ == '__main__': 在当前模块时,if之后的命令能够执行,在其它模块导入了不能执行

_all_=["函数A"],A模块含_all_,当使用import *导入时其它模块时只能导入列表中的函数A

from time import sleep

sleep(5)  #程序中断睡眠5秒

python包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值