Simple Calculator(简单计算器:算法初阶,代码基础,“纯”手撕)

简单计算器:仅适用无括号加减乘除,算法初阶,代码基础,不调库或模块"纯"手撕。


(笔记模板由python脚本于2024年09月22日 12:08:02创建,本篇笔记适合喜欢用python解决实际问题的coder翻阅)


【学习的细节是欢悦的历程】



**  自学并不是什么神秘的东西** ,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。

------ 华罗庚




仅适用没有括号的加减乘除 Simple Calculator (算法初阶代码基础不调库或模块"纯"手撕)



本文质量分:
95 95 95
本文地址: https://blog.csdn.net/m0_57158496/article/details/142466709

CSDN质量分查询入口:http://www.csdn.net/qc


目 录

  • ◆ Simple Calculator
    • 1、程序说明
    • 2、运行效果
    • 3、代码解读
    • 4、calculate的另一种写法
    • 5、完整源码(Python)

◆ Simple Calculator

1、程序说明

一、概述

这是一个简单的计算器程序,它可以处理没有括号的算式,包括加法、减法、乘法和除法。程序仅支持0和自然数的四则混合运算。用户可以通过输入算式来执行计算,并且可以多次输入算式进行计算。若输入的算式不符合要求,程序会给出相应的错误提示。

二、功能说明

  • 输入验证:确保用户输入的算式只包含数字、四则运算符和小数点,且格式正确。
  • 算式解析:将算式转换为可以处理的列表形式。
  • 算式计算:支持不带括号的四则混合运算,先执行乘除运算,然后执行加减运算。
  • 结果输出:将计算结果输出给用户。
  • 优雅退出:用户输入"00"即可退出程序。

程序的优点在于它的简单性和易用性,用户可以轻松地输入算式并得到结果。

三、使用方法

  • 运行程序。
  • 根据提示输入算式,例如:3+5*2-4/2
  • 按下回车键进行计算。
  • 查看计算结果,并根据提示继续使用或退出。

四、注意事项

  • 输入的算式不能为空。
  • 算式中只能包含数字、加号(+)、减号(-)、乘号(*)、除号(/)和小数点(.)。
  • 算式末尾必须是数字。
  • 不允许连续的运算符。
  • 算式不可以有连续的符号,如"++"、"-/"、"+*"、"//"等。
  • 每个数值中只能包含一个小数点。

五、错误处理

  • 若输入的算式不符合要求,程序将抛出ValueError错误提示。
  • 用户可根据错误提示修改算式,然后重新输入。

六、程序优势

  • 无需安装第三方库,纯Python实现。
  • 代码结构清晰,易于理解和维护。
  • 具有较好的错误处理机制,提高用户体验。

回页目录


2、运行效果

  • 界面

  • 计算

  • 错误输入




  • 退出


回页目录


3、代码解读

一、文件头部

python 复制代码
#!/usr/bin/env python3
# coding: utf-8
  1. #!/sur/bin/nve:指定解释器的路径,此处应为#!/usr/bin/env python3,表示使用Python 3解释器。
  2. # coding: utf-8:指定源文件编码为UTF-8,以支持中文等非ASCII字符。

二、程序结构

  1. validate_input(s:str) -> bool:输入验证函数,用于检查用户输入的算式是否合法。
  2. calculate(s:str) -> float:计算函数,用于解析并计算用户输入的算式。
  3. calculator(s:str) -> float:计算器主函数,调用validate_inputcalculate函数,返回计算结果。
  4. main() -> None:程序主入口,提供用户交互界面,循环接收用户输入并进行计算。

三、函数说明

  • split_expression
python 复制代码
def split_expression(s:str) -> list:
    ''' 拆分算式 '''
    return s.replace('+', ' + ').replace('-', ' - ').replace('*', ' * ').replace('/', ' / ').split()
  1. validate_input(s:str) -> bool.
python 复制代码
def validate_input(s:str) -> bool:
    ''' 输入验证 '''

    # expression空验证
    if not s:
        raise ValueError(f"\n{f' 算式不可为空 ':-^36}\n")    

    # 字符有效验证
    chars = tuple('0123456789+-/*.')
    for char in s:
        if char not in chars:
            raise ValueError(f"\n{f' 错误字符:{char} ':-^35}\n") 

    s = split_expression(s) # 拆分算式成列表

    # expression末尾验证
    if not s[-1][-1].isdigit():
        raise ValueError(f"\n{f' 算式末尾不可以是:{s[-1]} ':-^31}\n")    

    # 数值小数点、连续运算符、零除验证
    if s[0].count('.') > 1:
        raise ValueError(f"\n{f' "{s[0]}"小数点错误 ':-^37}\n") 
    for i in range(1, len(s)):
        if not s[i-1].replace('.', '').isdigit() and not s[i].replace('.', '').isdigit():
            raise ValueError(f"\n{f' 算式不可以有连续符号:{s[i-1]}{s[i]} ':-^30}\n") 
        elif s[i].count('.') > 1:
            raise ValueError(f"\n{f' "{s[i]}"小数点错误 ':-^37}\n") 
        elif s[i]=='/' and set(s[i+1].replace('.', ''))=={'0'}:
            raise ValueError(f"\n{f' 零除错误 ':-^36}\n") 
    
    return True
  • 验证用户输入的算式是否合法。
  • 验证输入的算式是否为空。
  • 验证算式中的字符是否有效。
  • 将算式转换为列表,方便后续处理。
  • 验证算式末尾是否为数字。
  • 验证每个数值的小数点数量和连续符号。
  • 验证零除错误。
  1. calculate(s:str) -> float
python 复制代码
def calculate(s:str) -> float:
    ''' 算式解析并计算 '''
    numbers = [] # 数值
    signs = [] # 运算符
    local_num = '' # 当前数值

    # 拆分算式
    for char in s:
        if char.isdigit() or char=='.':
            local_num += char
        else:
            numbers.append(float(local_num))
            signs.append(char)
            local_num = ''

    numbers.append(float(local_num)) # 追加最后一个数值

    # 计算乘除
    newnumbers = numbers[:1]
    for i in range(1, len(numbers)):
        if signs[i-1] == '*':
            newnumbers[-1] = newnumbers[-1] * numbers[i]
            signs[i-1] = ''
        elif signs[i-1] == '/':
            newnumbers[-1] = newnumbers[-1] /numbers[i]
            signs[i-1] = ''
        else:
            newnumbers.append(numbers[i])
    signs = [sign for sign in signs if sign] # 更新运算符列表

    # 处理+、-符号:列表解析,用前插空字符对齐运算符与数值列表,遍历zip拼接"运算符-数值"对,更新到newnumbers
    newnumbers = [float(f"{number[0]}{number[1]}") for number in zip(['']+signs, newnumbers)]
    return sum(newnumbers) # 求和(加)并返回
  • 首先将算式拆分为数字和运算符两个列表。
  • 然后优先计算乘法和除法。
  • 然后处理加法和减法,将减法转换为加法(例如,5 - 3转换为5 + (-3))。
  • 最后对处理后的数字列表求和,得到最终结果。
  1. calculator(s:str) -> float
python 复制代码
def calculator(s:str) -> float:
    ''' 计算器 '''
    result = calculate(s) # 调用计算解析函数
    return int(result) if round(result) == result else result # 结果是整,去尾0
  • 调用validate_input进行输入验证。
  • 调用calculate进行算式计算。
  • 返回计算结果,若结果为整数则转换为整数类型。
  1. main() -> None
python 复制代码
def main() -> None:
    ''' 主程序 '''
    while True:
        clear = '\033[2J' # 清屏字符串(windows系统低版本不支持)
        print(f"\n{clear}")        
        text = input(f"\n{' 简单计算器 ':=^37}\n{'(不带括号的四则运算,输入00退出)':^26}\n\n\n{' 回车确认执行计算 ':-^34}\n\n{'输入算式:':>7}").strip()

        if text == '00':
            print(f"{clear}\n{' 您已退出"简单计算器"!':^33}\n\n{f' 谢谢您使用"简单计算器"。':-^31}\n")
            break # break更优雅

        validate_input(text) # 输入验证
        result = calculator(text) # 计算表达式
        input(f"\n\n{'结果:':>9}{result}\n\n\n{'':=^42}\n{'(任意键继续......)':^35}") 
  • 提供用户交互界面,允许用户输入算式。
  • 调用 validate_input 函数验证输入。
  • 调用 calculator 函数计算算式。
  • 输出计算结果。
  • 循环接收用户输入,直到用户输入"00"退出。

四、程序入口

  • 入口
python 复制代码
if __name__ == '__main__':
    try:
        main()  # 启动主程序
    except ValueError as e:
        print(e)  # 打印错误信息
  1. 程序入口为if __name__ == '__main__':块,确保当模块被直接运行时,main()函数会被调用。
  2. 使用try...except语句块捕获并处理ValueError异常,提高程序的健壮性。

这个程序的逻辑清晰,代码简洁,易于理解和维护。通过这个简单的计算器,用户可以快速进行基本的数学运算。


回页目录


4、calculate的另一种写法

python 复制代码
def calculate(s:str) -> float:
    ''' 算式解析并计算 '''
    s = [float(part) if part.replace('.', '').isdigit() else part for part in split_expression(s)] # 三元操作语句列表解析数值

    # 算乘除
    k = 1
    while k < len(s)-1:
        if s[k] == '*':
            s[k-1] = s[k-1]*s.pop(k+1) # 用积重写乘号前数值
            s.pop(k) # 删除乘号
        elif s[k] == '/':
            s[k-1] = s[k-1]/s.pop(k+1) # 用商重写乘号前数值
            s.pop(k) # 删除乘号
        else:
            k += 1 # 跳过加减运算符和数值

    # 算加减
    k = 1
    while k < len(s)-1:
        if s[k] == '+':
            s[k-1] = s[k-1] + s.pop(k+1) # 用和重写加号前数值
            s.pop(k) # 删除加号
        elif s[k] == '-':
            s[k-1] = s[k-1]- s.pop(k+1) # 用和重写加号前数值
            s.pop(k) # 删除减号
        else:
            k += 1 # 跳过数值

    return s[0] # 返回计算结果

ai点评:

两个calculate函数的实现都有其独特之处,下面是对它们的重新评估:

第一个calculate函数:

优点:

  1. 逻辑清晰:首先处理乘除,然后处理加减,符合数学运算的优先级规则。
  2. 易于理解:通过两个步骤分别处理不同的运算符,使得代码结构更加清晰。
  3. 错误处理:在处理乘除时,如果遇到乘号或除号,会正确地更新列表中的数值,并移除运算符。

缺点:

  1. 效率:需要两次遍历列表,一次处理乘除,一次处理加减。
  2. 代码量:相对较长,因为分步骤处理。

第二个calculate函数:

优点:

  1. 代码简洁:使用单次遍历和列表解析,代码量更少。
  2. 效率:在一次遍历中完成乘除运算,减少了遍历次数。
  3. 直接操作:直接在原列表上操作,减少了额外的数据结构使用。

缺点:

  1. 可读性:由于代码较为紧凑,可能不如第一个实现容易理解。
  2. 错误处理:在处理运算符时,如果列表操作不当,可能会导致索引错误。

总结:

  • 如果你的目标是编写一个易于理解和维护的代码,第一个calculate函数可能更适合。
  • 如果你追求代码的简洁性和效率,第二个calculate函数可能更符合你的需求。

两个实现都是有效的,并且都可以作为学习笔记中的示例。选择哪一个取决于你的个人偏好和你对代码质量的要求。如果你想要一个更加平衡的方案,可以考虑结合两个实现的优点,创建一个既高效又易于理解的版本。

我个人倾向于第二个实现,因为它更加简洁,并且在现代编程中,效率往往是一个重要的考虑因素。不过,确保你的代码有充分的注释,以提高可读性。


回页目录


5、完整源码(Python)

(源码较长,点此跳过源码)

涅槃版

python 复制代码
#!/sur/bin/nve python3
# coding: utf-8


'''

简单计算器:处理没有括号的+-*/算式,可以实现四则混合运算仅支持0和自然数。

程序不调用库和模块,纯代码手撕。


'''


def split_expression(s:str) -> list:
    ''' 拆分算式 '''
    return s.replace('+', ' + ').replace('-', ' - ').replace('*', ' * ').replace('/', ' / ').split()


def validate_input(s:str) -> bool:
    ''' 输入验证 '''

    # expression空验证
    if not s:
        raise ValueError(f"\n{f' 算式不可为空 ':-^36}\n")    

    # 字符有效验证
    chars = tuple('0123456789+-/*.')
    for char in s:
        if char not in chars:
            raise ValueError(f"\n{f' 错误字符:{char} ':-^35}\n") 

    s = split_expression(s) # 拆分算式成列表

    # expression末尾验证
    if not s[-1][-1].isdigit():
        raise ValueError(f"\n{f' 算式末尾不可以是:{s[-1]} ':-^31}\n")    

    # 数值小数点、连续运算符、零除验证
    if s[0].count('.') > 1:
        raise ValueError(f"\n{f' "{s[0]}"小数点错误 ':-^37}\n") 
    for i in range(1, len(s)):
        if not s[i-1].replace('.', '').isdigit() and not s[i].replace('.', '').isdigit():
            raise ValueError(f"\n{f' 算式不可以有连续符号:{s[i-1]}{s[i]} ':-^30}\n") 
        elif s[i].count('.') > 1:
            raise ValueError(f"\n{f' "{s[i]}"小数点错误 ':-^37}\n") 
        elif s[i]=='/' and set(s[i+1].replace('.', ''))=={'0'}:
            raise ValueError(f"\n{f' 零除错误 ':-^36}\n") 
    
    return True


def calculate(s:str) -> float:
    ''' 算式解析并计算 '''
    numbers = [] # 数值
    signs = [] # 运算符
    local_num = '' # 当前数值

    # 拆分算式
    for char in s:
        if char.isdigit() or char=='.':
            local_num += char
        else:
            numbers.append(float(local_num))
            signs.append(char)
            local_num = ''

    numbers.append(float(local_num)) # 追加最后一个数值

    # 计算乘除
    newnumbers = numbers[:1]
    for i in range(1, len(numbers)):
        if signs[i-1] == '*':
            newnumbers[-1] = newnumbers[-1] * numbers[i]
            signs[i-1] = ''
        elif signs[i-1] == '/':
            newnumbers[-1] = newnumbers[-1] /numbers[i]
            signs[i-1] = ''
        else:
            newnumbers.append(numbers[i])
    signs = [sign for sign in signs if sign] # 更新运算符列表

    # 处理+、-符号:列表解析,用前插空字符对齐运算符与数值列表,遍历zip拼接"运算符-数值"对,更新到newnumbers
    newnumbers = [float(f"{number[0]}{number[1]}") for number in zip(['']+signs, newnumbers)]
    return sum(newnumbers) # 求和(加)并返回


def calculate(s:str) -> float:
    ''' 算式解析并计算 '''
    s = [float(part) if part.replace('.', '').isdigit() else part for part in split_expression(s)] # 三元操作语句列表解析数值

    # 算乘除
    k = 1
    while k < len(s)-1:
        if s[k] == '*':
            s[k-1] = s[k-1]*s.pop(k+1) # 用积重写乘号前数值
            s.pop(k) # 删除乘号
        elif s[k] == '/':
            s[k-1] = s[k-1]/s.pop(k+1) # 用商重写乘号前数值
            s.pop(k) # 删除乘号
        else:
            k += 1 # 跳过加减运算符和数值

    # 算加减
    k = 1
    while k < len(s)-1:
        if s[k] == '+':
            s[k-1] = s[k-1] + s.pop(k+1) # 用和重写加号前数值
            s.pop(k) # 删除加号
        elif s[k] == '-':
            s[k-1] = s[k-1]- s.pop(k+1) # 用和重写加号前数值
            s.pop(k) # 删除减号
        else:
            k += 1 # 跳过数值

    return s[0] # 返回计算结果


def calculator(s:str) -> float:
    ''' 计算器 '''
    result = calculate(s) # 调用计算解析函数
    return int(result) if round(result) == result else result # 结果是整,去尾0


def main() -> None:
    ''' 主程序 '''
    while True:
        clear = '\033[2J' # 清屏字符串(windows系统低版本不支持)
        print(f"\n{clear}")        
        text = input(f"\n{' 简单计算器 ':=^37}\n{'(不带括号的四则运算,输入00退出)':^26}\n\n\n{' 回车确认执行计算 ':-^34}\n\n{'输入算式:':>7}").strip()

        if text == '00':
            print(f"{clear}\n{' 您已退出"简单计算器"!':^33}\n\n{f' 谢谢您使用"简单计算器"。':-^31}\n")
            break # break更优雅

        validate_input(text) # 输入验证
        result = calculator(text) # 计算表达式
        input(f"\n\n{'结果:':>9}{result}\n\n\n{'':=^42}\n{'(任意键继续......)':^35}") 


if __name__ == '__main__':
    try:
        main() # 启动主程序
    except ValueError as e:
        print(e)

雏形版

python 复制代码
#!/sur/bin/nve python3
# coding: utf-8


'''

简单计算器:处理没有括号的+-*/算式,可以实现四则混合运算仅支持0和自然数。

程序不调用库和模块,纯代码手撕。


'''


def validate_input(s:str) -> bool:
    ''' 输入验证 '''
    # expression空验证
    if not s:
        raise ValueError(f"\n{f' 算式不可为空 ':-^36}\n")    

    # 字符有效验证
    chars = tuple('0123456789+-/*.')
    for char in s:
        if char not in chars:
            raise ValueError(f"\n{f' 错误字符:{char} ':-^35}\n") 

    # expression末尾验证
    if not s[-1].isdigit():
        raise ValueError(f"\n{f' 算式末尾不可以是:{s[-1]} ':-^31}\n")    

    # 连续符号验证(用的是str.isdigit方法判定算式中的相邻两个字符)
    for i in range(1, len(s)):
        if not s[i-1].isdigit() and not s[i].isdigit():
            raise ValueError(f"\n{f' 算式不可以有连续符号:{s[i-1]}{s[i]} ':-^30}\n") 
    
    # 数值小数点验证:用str.count方法计数数值字符小数点。
    # 用空格替换加减乘除字符后,再用str.split拆分列表来对数值字符串预处理。
    for number in s.replace('+', ' ').replace('-', ' ').replace('*', ' ').replace('/', ' ').split():
        if number.count('.') > 1:
            raise ValueError(f"\n{f' "{number}"小数点错误。 ':-^36}\n") 

    return True


def calculate(s:str) -> float:
    ''' 算式解析并计算 '''
    numbers = [] # 数值
    signs = [] # 运算符
    local_num = '' # 当前数值

    # 拆分算式
    for char in s:
        if char.isdigit() or char=='.':
            local_num += char
        else:
            numbers.append(float(local_num))
            signs.append(char)
            local_num = ''

    numbers.append(float(local_num)) # 追加最后一个数值

    # 计算乘除
    newnumbers = numbers[:1]
    for i in range(1, len(numbers)):
        if signs[i-1] == '*':
            newnumbers[-1] = newnumbers[-1] * numbers[i]
            signs[i-1] = ''
        elif signs[i-1] == '/':
            newnumbers[-1] = newnumbers[-1] /numbers[i]
            signs[i-1] = ''
        else:
            newnumbers.append(numbers[i])
    signs = [sign for sign in signs if sign] # 更新运算符列表

    # 处理+、-符号:列表解析,用前插空字符对齐运算符与数值列表,遍历zip拼接"运算符-数值"对,更新到newnumbers
    newnumbers = [float(f"{number[0]}{number[1]}") for number in zip(['']+signs, newnumbers)]
    return sum(newnumbers) # 求和(加)并返回


def calculator(s:str) -> float:
    ''' 计算器 '''
    result = calculate(s) # 调用计算解析函数
    return int(result) if int(result) == result else result # 结果是整,去尾0


def main() -> None:
    ''' 主程序 '''
    while True:
        clear = '\033[2J' # 清屏字符串(windows系统低版本不支持)
        print(f"\n{clear}")        
        text = input(f"\n{' 简单计算器 ':=^37}\n{'(不带括号的四则运算,输入00退出)':^26}\n\n\n{' 回车确认执行计算 ':-^34}\n\n{'输入算式:':>7}").strip()

        if text == '00':
            print(f"{clear}\n{' 您已退出"简单计算器"!':^33}\n\n{f' 谢谢您使用"简单计算器"。':-^31}\n")
            break # break更优雅

        validate_input(text) # 输入验证
        result = calculator(text) # 计算表达式
        input(f"\n\n{'结果:':>7}{result}\n\n\n{'':=^42}\n{'(任意键继续......)':^35}") 


if __name__ == '__main__':
    try:
        main() # 启动主程序
    except ValueError as e:
        print(e)

修正版

python 复制代码
#!/sur/bin/nve python3
# coding: utf-8


'''

简单计算器:处理没有括号的+-*/算式,可以实现四则混合运算仅支持0和自然数。

程序不调用库和模块,纯代码手撕。


'''


def validate_input(s:str) -> bool:
    ''' 输入验证 '''
    # expression空验证
    if not s:
        raise ValueError(f"\n{f' 算式不可为空 ':-^36}\n")    

    # 字符有效验证
    chars = tuple('0123456789+-/*.')
    for char in s:
        if char not in chars:
            raise ValueError(f"\n{f' 错误字符:{char} ':-^35}\n") 

    # expression末尾验证
    if not s[-1].isdigit():
        raise ValueError(f"\n{f' 算式末尾不可以是:{s[-1]} ':-^31}\n")    

    # 连续符号验证(用的是str.isdigit方法判定算式中的相邻两个字符)
    for i in range(1, len(s)):
        if not s[i-1].isdigit() and not s[i].isdigit():
            raise ValueError(f"\n{f' 算式不可以有连续符号:{s[i-1]}{s[i]} ':-^30}\n") 
    
    # 数值小数点验证:用str.count方法计数数值字符小数点。
    # 用空格替换加减乘除字符后,再用str.split拆分列表来对数值字符串预处理。
    for number in s.replace('+', ' ').replace('-', ' ').replace('*', ' ').replace('/', ' ').split():
        if number.count('.') > 1:
            raise ValueError(f"\n{f' "{number}"小数点错误。 ':-^36}\n") 

    return True


def calculate(s:str) -> float:
    ''' 算式解析并计算 '''
    numbers = [] # 数值
    signs = [] # 运算符
    local_num = '' # 当前数值

    # 拆分算式
    for char in s:
        if char.isdigit() or char=='.':
            local_num += char
        else:
            numbers.append(float(local_num))
            signs.append(char)
            local_num = ''

    numbers.append(float(local_num)) # 追加最后一个数值

    # 计算乘除
    newnumbers = numbers[:1]
    for i in range(1, len(numbers)):
        if signs[i-1] == '*':
            newnumbers[-1] = newnumbers[-1] * numbers[i]
            signs[i-1] = ''
        elif signs[i-1] == '/':
            newnumbers[-1] = newnumbers[-1] /numbers[i]
            signs[i-1] = ''
        else:
            newnumbers.append(numbers[i])
    signs = [sign for sign in signs if sign] # 更新运算符列表

    # 处理+、-符号:列表解析,用前插空字符对齐运算符与数值列表,遍历zip拼接"运算符-数值"对,更新到newnumbers
    newnumbers = [float(f"{number[0]}{number[1]}") for number in zip(['']+signs, newnumbers)]
    return sum(newnumbers) # 求和(加)并返回


def calculator(s:str) -> float:
    ''' 计算器 '''
    result = calculate(s) # 调用计算解析函数
    return int(result) if int(result) == result else result # 结果是整,去尾0


def main() -> None:
    ''' 主程序 '''
    while True:
        clear = '\033[2J' # 清屏字符串(windows系统低版本不支持)
        print(f"\n{clear}")        
        text = input(f"\n{' 简单计算器 ':=^37}\n{'(不带括号的四则运算,输入00退出)':^26}\n\n\n{' 回车确认执行计算 ':-^34}\n\n{'输入算式:':>7}").strip()

        if text == '00':
            print(f"{clear}\n{' 您已退出"简单计算器"!':^33}\n\n{f' 谢谢您使用"简单计算器"。':-^31}\n")
            break # break更优雅

        validate_input(text) # 输入验证
        result = calculator(text) # 计算表达式
        input(f"\n\n{'结果:':>7}{result}\n\n\n{'':=^42}\n{'(任意键继续......)':^35}") 


if __name__ == '__main__':
    try:
        main() # 启动主程序
    except ValueError as e:
        print(e)

回页首


上一篇:  Python的五种自定义类的"代码书写"形式~(Python 中有五种自定义类写法,缺省参数或者指定metaclass可以自定义普通类;用元类作基类可以定义元类)~
下一篇:


我的HOT博:

本次共计收集 311 篇博文笔记信息,总阅读量43.82w。数据于2024年03月22日 00:50:22完成采集,用时6分2.71秒。阅读量不小于6.00k 的有 7 7 7篇。


推荐条件 阅读量突破6.00k (更多热博,请点击蓝色文字跳转翻阅)


  • 截屏图片

      (此文涉及ChatPT,曾被csdn多次下架,前几日又因新发笔记被误杀而落马。躺"未过审"还不如回收站,回收站还不如永久不见。😪值此年底清扫,果断移除。留此截图,以识"曾经"。2023-12-31)

回页首


精品文章:

来源:老齐教室


Python 入门指南【Python 3.6.3】


好文力荐:


CSDN实用技巧博文:


相关推荐
Dxy12393102161 小时前
Python PDFplumber详解:从入门到精通的PDF处理指南
开发语言·python·pdf
在努力的韩小豪2 小时前
如何从0开始构建自己的第一个AI应用?(Prompt工程、Agent自定义、Tuning)
人工智能·python·llm·prompt·agent·ai应用·mcp
Otaku love travel4 小时前
实施运维文档
运维·windows·python
测试老哥4 小时前
软件测试之单元测试
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
presenttttt4 小时前
用Python和OpenCV从零搭建一个完整的双目视觉系统(六 最终篇)
开发语言·python·opencv·计算机视觉
测试19986 小时前
软件测试之压力测试总结
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·压力测试
李昊哲小课6 小时前
销售数据可视化分析项目
python·信息可视化·数据分析·matplotlib·数据可视化·seaborn
烛阴6 小时前
带参数的Python装饰器原来这么简单,5分钟彻底掌握!
前端·python
全干engineer7 小时前
Flask 入门教程:用 Python 快速搭建你的第一个 Web 应用
后端·python·flask·web
nightunderblackcat7 小时前
新手向:Python网络编程,搭建简易HTTP服务器
网络·python·http