python实例应用经典讲解python实例属性是什么python实例的书
下载地址 https://share.weiyun.com/OvviwGnZ
资料目录 Python练习集100题 100道Python面试题 Python100经典练习题 Python经典题目100道题 Python题库(已收录100道真题) Python100例视频讲解课程 菜鸟教程Python教程100例 130道python练习题,涵盖基础内容的方方面面 Python考试题复习知识点试卷试题 PYTHON测试题和答案 python第一阶段考试题 Python经典面试题和答案解析 python期末考试复习试卷 python习题集大全(附答案解析) 老男孩Python全栈7期练习题(面试真题模拟) 尚观python第一阶段考试(面试真题模拟) 《Python程序设计基础与应用》习题答案 《Python快速编程入门》——课后题答案 Python编程基础张健 , 张良均课后习题及答案 Python程序设计基础及实践(慕课版)郭炜习题答案 Python程序设计基础习题答案与分析 python基础试题(含答案)
举例 全部代码 def str_sum(str1, str2): """ 计算两个字符串的加法 :param str1: :param str2: :return: """ # 先补齐 str_1_length = len(str1) str_2_length = len(str2) if str_1_length < str_2_length: str1 = "0"*(str_2_length - str_1_length) + str1 else: str2 = "0"*(str_1_length - str_2_length) + str2
# 进行计算 index = len(str1) - 1 pre_num = 0 # 记录进位 res_lst = [] # 记录结果
# 方向遍历 while index >= 0: item_1 = int(str1[index]) item_2 = int(str2[index]) item_sum = item_1 + item_2 + pre_num pre_num = item_sum//10 curr_num = item_sum % 10
# 新的计算结果插入到结果的第一位 res_lst.insert(0, str(curr_num)) index -= 1
if pre_num == 1: res_lst.insert(0, '1')
return ''.join(res_lst)
def single_str_multi(str1, single): """ single是一个小于10的数值, 例如 323354 * 4 :param str1: 基础数值 :param single: 单个数值 :return: """ pre_sum = 0 # 进位 single = int(single) res_lst = [] for item in reversed(str1): # 每次计算都要考虑上一次计算结果的进位 item_num = int(item) * single + pre_sum pre_sum = item_num // 10 # 计算进位 curr_num = item_num % 10 # 计算当前位置的值 res_lst.insert(0, str(curr_num))
if pre_sum > 0: res_lst.insert(0, str(pre_sum))
return ''.join(res_lst)
def str_multi(str1, str2): """ 字符串相乘 :param str1: :param str2: :return: """ res = '0' for index, item in enumerate(reversed(str2)): if item == '0': # 为0时不用计算 continue # 一定要补0 single_res = single_str_multi(str1, item) if single_res != '0': single_res += '0'*index # 每次相乘结果要相加 res = str_sum(res, single_res) return res
if __name__ == '__main__': print(str_multi('323434223434234242343', '15492828424295835983529'))
|