简单计算器:仅适用无括号加减乘除,算法初阶,代码基础,不调库或模块“纯”手撕。
(笔记模板由python脚本于2024年09月22日 12:08:02创建,本篇笔记适合喜欢用python解决实际问题的coder翻阅)
-
Python 官网:https://www.python.org/
-
Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
地址:https://lqpybook.readthedocs.io/
自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
—— 华罗庚
- My CSDN主页、My HOT博、My Python 学习个人备忘录
- 好文力荐、 老齐教室
本文质量分:
本文地址: 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、代码解读
一、文件头部
#!/usr/bin/env python3
# coding: utf-8
#!/sur/bin/nve
:指定解释器的路径,此处应为#!/usr/bin/env python3
,表示使用Python 3解释器。# coding: utf-8
:指定源文件编码为UTF-8,以支持中文等非ASCII字符。
二、程序结构
validate_input(s:str) -> bool
:输入验证函数,用于检查用户输入的算式是否合法。calculate(s:str) -> float
:计算函数,用于解析并计算用户输入的算式。calculator(s:str) -> float
:计算器主函数,调用validate_input
和calculate
函数,返回计算结果。main() -> None
:程序主入口,提供用户交互界面,循环接收用户输入并进行计算。
三、函数说明
split_expression
def split_expression(s:str) -> list:
''' 拆分算式 '''
return s.replace('+', ' + ').replace('-', ' - ').replace('*', ' * ').replace('/', ' / ').split()
validate_input(s:str) -> bool
.
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
- 验证用户输入的算式是否合法。
- 验证输入的算式是否为空。
- 验证算式中的字符是否有效。
- 将算式转换为列表,方便后续处理。
- 验证算式末尾是否为数字。
- 验证每个数值的小数点数量和连续符号。
- 验证零除错误。
calculate(s:str) -> float
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)
)。 - 最后对处理后的数字列表求和,得到最终结果。
calculator(s:str) -> float
def calculator(s:str) -> float:
''' 计算器 '''
result = calculate(s) # 调用计算解析函数
return int(result) if round(result) == result else result # 结果是整,去尾0
- 调用
validate_input
进行输入验证。 - 调用
calculate
进行算式计算。 - 返回计算结果,若结果为整数则转换为整数类型。
main() -> None
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”退出。
四、程序入口
- 入口
if __name__ == '__main__':
try:
main() # 启动主程序
except ValueError as e:
print(e) # 打印错误信息
- 程序入口为
if __name__ == '__main__':
块,确保当模块被直接运行时,main()
函数会被调用。 - 使用
try...except
语句块捕获并处理ValueError
异常,提高程序的健壮性。
这个程序的逻辑清晰,代码简洁,易于理解和维护。通过这个简单的计算器,用户可以快速进行基本的数学运算。
4、calculate的另一种写法
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
函数:
优点:
- 逻辑清晰:首先处理乘除,然后处理加减,符合数学运算的优先级规则。
- 易于理解:通过两个步骤分别处理不同的运算符,使得代码结构更加清晰。
- 错误处理:在处理乘除时,如果遇到乘号或除号,会正确地更新列表中的数值,并移除运算符。
缺点:
- 效率:需要两次遍历列表,一次处理乘除,一次处理加减。
- 代码量:相对较长,因为分步骤处理。
第二个calculate
函数:
优点:
- 代码简洁:使用单次遍历和列表解析,代码量更少。
- 效率:在一次遍历中完成乘除运算,减少了遍历次数。
- 直接操作:直接在原列表上操作,减少了额外的数据结构使用。
缺点:
- 可读性:由于代码较为紧凑,可能不如第一个实现容易理解。
- 错误处理:在处理运算符时,如果列表操作不当,可能会导致索引错误。
总结:
- 如果你的目标是编写一个易于理解和维护的代码,第一个
calculate
函数可能更适合。 - 如果你追求代码的简洁性和效率,第二个
calculate
函数可能更符合你的需求。
两个实现都是有效的,并且都可以作为学习笔记中的示例。选择哪一个取决于你的个人偏好和你对代码质量的要求。如果你想要一个更加平衡的方案,可以考虑结合两个实现的优点,创建一个既高效又易于理解的版本。
我个人倾向于第二个实现,因为它更加简洁,并且在现代编程中,效率往往是一个重要的考虑因素。不过,确保你的代码有充分的注释,以提高可读性。
5、完整源码(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)
雏形版
#!/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)
修正版
#!/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篇。
-
001
标题:让QQ群昵称色变的神奇代码
(浏览阅读 5.9w )
地址:https://blog.csdn.net/m0_57158496/article/details/122566500
点赞:25 收藏:86 评论:17
摘要:让QQ昵称色变的神奇代码。
首发:2022-01-18 19:15:08
最后编辑:2022-01-20 07:56:47 -
002
标题:Python列表(list)反序(降序)的7种实现方式
(浏览阅读 1.1w )
地址:https://blog.csdn.net/m0_57158496/article/details/128271700
点赞:8 收藏:35 评论:8
摘要:Python列表(list)反序(降序)的实现方式:原址反序,list.reverse()、list.sort();遍历,全数组遍历、1/2数组遍历;新生成列表,resersed()、sorted()、负步长切片[::-1]。
首发:2022-12-11 23:54:15
最后编辑:2023-03-20 18:13:55 -
003
标题:pandas 数据类型之 DataFrame
(浏览阅读 9.7k )
地址:https://blog.csdn.net/m0_57158496/article/details/124525814
点赞:7 收藏:36
摘要:pandas 数据类型之 DataFrame_panda dataframe。
首发:2022-05-01 13:20:17
最后编辑:2022-05-08 08:46:13 -
004
标题:个人信息提取(字符串)
(浏览阅读 8.2k )
地址:https://blog.csdn.net/m0_57158496/article/details/124244618
点赞:2 收藏:15
摘要:个人信息提取(字符串)_个人信息提取python。
首发:2022-04-18 11:07:12
最后编辑:2022-04-20 13:17:54 -
005
标题:Python字符串居中显示
(浏览阅读 7.6k )
地址:https://blog.csdn.net/m0_57158496/article/details/122163023
评论:1 -
006
标题:罗马数字转换器|罗马数字生成器
(浏览阅读 7.5k )
地址:https://blog.csdn.net/m0_57158496/article/details/122592047
摘要:罗马数字转换器|生成器。
首发:2022-01-19 23:26:42
最后编辑:2022-01-21 18:37:46 -
007
标题:回车符、换行符和回车换行符
(浏览阅读 6.0k )
地址:https://blog.csdn.net/m0_57158496/article/details/123109488
点赞:2 收藏:3
摘要:回车符、换行符和回车换行符_命令行回车符。
首发:2022-02-24 13:10:02
最后编辑:2022-02-25 20:07:40
截屏图片
(此文涉及ChatPT,曾被csdn多次下架,前几日又因新发笔记被误杀而落马。躺“未过审”还不如回收站,回收站还不如永久不见。😪值此年底清扫,果断移除。留此截图,以识“曾经”。2023-12-31)
精品文章:
- 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
- OPP三大特性:封装中的property
- 通过内置对象理解python'
- 正则表达式
- python中“*”的作用
- Python 完全自学手册
- 海象运算符
- Python中的 `!=`与`is not`不同
- 学习编程的正确方法
来源:老齐教室
◆ Python 入门指南【Python 3.6.3】
好文力荐:
- 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
- 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
- 靠谱程序员的好习惯
- 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归
CSDN实用技巧博文:
- 8个好用到爆的Python实用技巧
- python忽略警告
- Python代码编写规范
- Python的docstring规范(说明文档的规范写法)