Python-nowcoder数字之和

博客围绕给定正整数 n,计算其十进制下各位数字之和以及其平方的各位数字之和展开。先给出题目描述,包括输入输出要求,接着通过举例说明计算方式,最后提出解题重点是拆解数字,可利用循环和 10 的阶乘来解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述

对于给定的正整数 n,计算其十进制形式下所有位置数字之和,并计算其平方的各位数字之和。
输入描述:
每行输入数据包括一个正整数n(0<n<40000)
输出描述:
对于每个输入数据,计算其各位数字之和,以及其平方值的数字之和,输出在一行中,之间用一个空格分隔,但行末不要有空格。

解题思路

说实话我也看题目看了半天,举例如下:若正整数为12,十进制下所有位置的数字为1,2,之和即为1+2=3;其平方即12的平方为144,之和为1+4+4=9。

1、重点在拆解数字上,需要把正整数及其平方数进行分解,原有笨方法:

a = n % 10
b = n // 10 % 10
c = n // 100 % 10
d = n // 1000 % 10
e = n // 10000 % 10
num1 = a+b+c+d+e
# print(a, b, c, d, e)
print(num1)

但是如上方法在用于10位数时则太过冗余,故使用循环解决

2、看到10、100、1000应该能想到 10 的阶乘,利用i做循环:

def sumNum(n):
	num1 = num2 = 0
	for i in range(10):
		if i == 0:
			temp = n % 10
		else:
			temp = n // (10**i) % 10
		# print(temp)
		num1 += temp
	# print(num1)

	m = n*n
	for i in range(10):
		if i == 0:
			temp = m % 10
		else:
			temp = m // (10**i) % 10
		# print(temp)
		num2 += temp
	# print(num2)
	return str(num1)+" "+str(num2)

num = int(input())
print(sumNum(num))
<think>我们正在寻找Python编程练习题集。根据引用[1]提到的“100道Python编程练习题”,我们可以了解到这份练习题集包含不同难度的题目,分为Level1、Level2和Level3。其中前25题中,Q1~5和Q22~25是Level1(基础难度),Q6~17是Level2(中等难度),Q18~22是Level3(较高难度)。这份练习题集可以帮助学习者巩固基础并逐步挑战自己。由于我们无法直接获取这100道题的具体内容,但我们可以根据常见的Python编程练习题目,为用户推荐一些类似的练习题集资源,并给出一些获取途径。###推荐资源1.**LeetCode**:一个著名的编程练习平台,提供大量算法和数据结构题目,支持多种编程语言,包括Python。题目分为简单、中等和困难三个级别,适合不同水平的学习者。-网址:https://leetcode.com/2.**HackerRank**:另一个流行的编程练习平台,提供Python专项练习,包括基础语法、数据结构、算法等。-网址:https://www.hackerrank.com/3.**牛客网**:国内知名的IT笔试面试备考平台,提供大量Python编程题目,适合准备面试和巩固基础。-网址:https://www.nowcoder.com/4.**Python官方文档和教程**:Python官方网站提供了一些入门教程和练习,适合初学者。-网址:https://docs.python.org/3/tutorial/index.html5.**《Python编程:从入门到实践》**:这本书包含了很多练习题,适合初学者和有一定基础的学习者。6.**Github上的开源项目**:在Github上搜索“pythonexercises”或“pythonpractice”可以找到很多开源的练习题集。###自编练习题示例为了帮助您开始练习,这里提供几个不同难度的Python练习题示例:####Level1(基础):1.编写一个程序,计算并输出两个数的和。2.编写一个程序,判断一个数是奇数还是偶数。3.编写一个程序,输出1到100之间所有的偶数。####Level2(中等):1.编写一个程序,找出一个列表中的最大值和最小值。2.编写一个程序,实现冒泡排序算法。3.编写一个程序,计算斐波那契数列的第n项(使用递归和非递归两种方法)。####Level3(较高):1.编写一个程序,实现快速排序算法(参考示例中的代码,并尝试优化)。2.编写一个程序,从一个文本文件中读取数据,并统计每个单词出现的频率。3.编写一个程序,实现一个简单的爬虫,抓取网页内容并解析特定信息。###如何有效练习-从基础题目开始,逐步提升难度。-每完成一道题目,尝试优化代码或使用不同的方法实现。-参考他人的优秀解法,学习更好的编程实践。希望这些资源和建议对您有所帮助!§§相关问题§§1.如何选择适合自己的Python练习题难度?2.在练习Python编程时有哪些注意事项?3.如何高效利用LeetCode等平台提升Python编程能力?4.除了练习题,还有哪些方法可以提升Python编程技能?5.Python编程练习中常见的错误有哪些?如何避免?</think>### Python编程练习题集推荐 根据您的需求,以下是精选的Python编程练习题资源,涵盖不同难度级别,适合从入门到进阶的学习路径: #### 1. **基础入门练习(Level 1)** - **经典题目示例**: - 计算圆的面积(输入半径,输出面积) - 判断数字奇偶性 - 打印乘法口诀表 - 字符串反转(如输入"hello"输出"olleh") - 列表去重(不借助`set()`函数) - **推荐资源**: 《Python编程:从入门到实践》配套习题[^1],包含基础语法和简单逻辑训练。 #### 2. **中级提升练习(Level 2)** - **核心题目类型**: - 文件操作:统计文本文件词频(输出前10高频词) - 数据结构:用字典实现学生成绩管理系统 - 算法实现:二分查找、冒泡排序 - 正则表达式:提取文本中的邮箱/手机号 - **在线平台推荐**: - [LeetCode Python题库](https://leetcode.com/)(筛选Easy/Medium难度) - [HackerRank Python板块](https://www.hackerrank.com/domains/python) #### 3. **高阶挑战练习(Level 3)** - **综合项目式题目**: - 实现简易爬虫(用`requests`+`BeautifulSoup`抓取网页数据) - 图像处理:用`PIL`库生成验证码图片 - 算法优化:动态规划解决背包问题 - 并发编程:多线程下载器 - **开源项目参考**: GitHub搜索关键词"python-exercises",如[100+ Python Projects](https://github.com/tuvtran/project-based-learning#python) #### 4. **专项强化练习集** ```markdown - **科学计算**:NumPy矩阵运算练习题(如实现PCA降维) - **数据分析**:Pandas清洗真实数据集(如Kaggle的Titanic数据) - **Web开发**:用Flask/Django实现REST API - **自动化测试**:用Selenium编写网页自动化脚本 ``` ### 高效练习建议 1. **循序渐进**:从Level 1基础题开始,逐步过渡到复杂项目[^1]。 2. **实战驱动**:选择与实际场景结合的题目(如数据处理、小工具开发)。 3. **代码审查**:完成后通过[PyLint](https://pypi.org/project/pylint/)检查代码规范。 > 示例题解(文件词频统计): > ```python > from collections import Counter > def word_count(file_path): > with open(file_path) as f: > return Counter(f.read().split()) > # 调用:print(word_count("data.txt").most_common(10)) > ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值