现在有5个小朋友要分糖果,他们按照自己的编号顺序围坐在一张圆桌旁边。他们身上都有一些糖果(通过输入来决定每个小孩糖果的数量)。从1号小朋友开始,将自己的糖果平均分成最多的3份(多出来的自己吃掉),自己留一份,其余两份分给他相邻的两位小朋友。接着2号,3号,4号,5号小朋友同样这么做。这样进行一轮后,每个小朋友手上分到的糖果有多少?
我们来解释一下这个题目的意思:
执行程序后,当我输入8,9,10,11,12就代表5个小朋友的糖果分别是8,9,10,11,12颗。
1号小朋友现在手上是8颗糖果,现在1号小朋友需要将糖果分成3份,因为需要让每份糖果的数量最多且平均,所以只能是2+2+2,剩下的两颗只能自己吃掉。
然后自己拿两颗,剩下的两颗分别给到左边的5号和右边的2号。同学们想一想,剩下的小朋友应该如何去平分糖果。
2号小朋友现在手里的糖果就是9+2 = 11颗糖果了,然后他也需要和1号一样把自己的糖果分成3分,也就是3+3+3,剩下的两颗自己吃掉。
现在我们来看一下如何用程序实现这个功能。
第一步是处理糖果的输入,因为默认输入的都是正整数,所以我们暂时不对这些数字做处理。
将每一个输入的数字,先进行数据类型的转换,因为输入的都是字符串类型。然后将转换后的数字存在一个变量里面,num_01-num_05分别存着1号小朋友到5号小朋友糖果的数量。
num_01 = int(input("请输入1号小朋友的糖果数: "))
num_02 = int(input("请输入2号小朋友的糖果数: "))
num_03 = int(input("请输入3号小朋友的糖果数: "))
num_04 = int(input("请输入4号小朋友的糖果数: "))
num_05 = int(input("请输入5号小朋友的糖果数: "))
第二步开始分糖果
这里要注意的是如果直接使用除法,结果会是小数,所以我们需要对结果进行取整。这里有两种方法,第一种是直接通过int取整,第二是直接通过//运算符取商。
这里我们使用第一种方法,直接通过int来取整
#一号小朋友分为糖果后,每位小朋友糖果的变化情况
num_01 = int(num_01/3)
num_05 = num_01 + num_05
num_02 = num_01 + num_02
这里程序的意思是,先将1号小朋友的糖果分成三份,然后分别给到5号小朋友和2号小朋友。需要注意每个小朋友相邻的两位小朋友是谁。剩下的小朋友依次类推即可。
#二号小朋友分为糖果后,每位小朋友糖果的变化情况
num_02 = int(num_02/3)
num_01 = num_02 + num_01
num_03 = num_02 + num_03
#三号小朋友分为糖果后,每位小朋友糖果的变化情况
num_03 = int(num_03/3)
num_02 = num_02 + num_03
num_04 = num_04 + num_03
#四号小朋友分为糖果后,每位小朋友糖果的变化情况
num_04 = int(num_04/3)
num_03 = num_04 + num_03
num_05 = num_04 + num_05
#五号小朋友分为糖果后,每位小朋友糖果的变化情况
num_05 = int(num_05/3)
num_04 = num_04 + num_05
num_01 = num_01 + num_05
print(num_01,num_02,num_03,num_04,num_05)
1.python中的输入都是字符串,直接使用运算符计算会出错,需要先转换成整数
2.python中直接使用除法,结果会是小数,如果需要的是商,可以通过int或者//运算符来达到取整数的目的。
最后我在这里也是给大家准备了一套python的学习教程路线图,里面讲的是非常的详细入门,这是我从一位清华教授哪里拿到的一份详细的学学习路线图。
下面来看看每个分支知识点的详细内容,以及配套学习文件。
对于新手学Python而言,基础和高级编程这一块是很重要的,因为如果你没有学过它们,直接去学习某个方向,你将会一脸懵逼,所以这是绕不过的,打好这一块的基础之后,你完全可以无障碍地进阶Python的任何方向。
学习资源:
以上所有的文件都已经打包好了,需要的朋友请移步文末。
应该有很多人都对爬虫感兴趣吧?不只是Python可以写爬虫,还有很多语言都能写,但Python是公认的最适合的语言了。
爬虫不只是爬虫工程师会用到,业余时间也可以用来爬点自己想要的东西,又或者是做兼职也是可以的,甚至非程序员在工作方面也用得到,比如电商人员爬取大量同行数据来分析出市场的情况,在大量数据的基础上研究新的电商方案。
数据分析也是当下的一大热门方向,用Python来做的话比其他语言强很多,但往往只会数据分析还是差点意思,如果能具备爬虫能力来爬取数据就更好了。
以上所有的文件都已经打包好了,需要的朋友请移步文末。
机器学习是人工智能的必经之路,核心就在这里,所以想往人工智能去发展的人,可以学学机器学习,但同时也有个前提,人工智能是公认存在门槛的,应届毕业生不是研究生以上学历或者大学中出类拔萃的人,基本上很难找到工作,所以也请考虑清楚。
愿你们在自学Python的路上顺风顺水、学有所成!