听说能答对这十道题的都是python牛人

1.题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 

 
 

2.题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。

方法一: 这种方法是我用数学的原理做的,就是把每种情况都列出一个表达式,最后简化表达式,然后直接根据输入的利润 I 来计算表达式的值,也就是奖金总数。就是把奖金叠加起来,具体算法还是要在纸上计算,这种方法适用于初学编码的人,比如我,用最笨的数学思路解决问题,就是说在数学上你是按照什么方法做的,然后把他转化成代码,就比较容易理解了。

0?wx_fmt=png

方法二:这种方法就比较难懂了,适合于基础好的人。

0?wx_fmt=png

3.题目:一个整数,它加上100和加上268后都是一个完全平方数,请问该数是多少?

程序分析:在10000以内判断,将该数加上100后再开方,加上268后再开方,如果开方后的结果满足如下条件,即是结果。这里要用到数学中的开方函数 sqrt。

0?wx_fmt=png

4.题目:输入某年某月某日,判断这一天是这一年的第几天?

程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

思路:先把输入的日期进行分割,分割成年,月,日三个数字,再按照实际情况依次编写。

0?wx_fmt=png

5.题目:输入三个整数x,y,z,请把这三个数由小到大输出。

程序分析一:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

0?wx_fmt=png

程序分析二:用一个变量来存储最小值,三个数进行比较后两两交换,这是最常用的思路。

0?wx_fmt=png

程序分析三:用函数sort进行排序,sort函数可以把数字按照从小到大的顺序进行重新排列。

0?wx_fmt=png

6.题目:将一个列表的数据复制到另一个列表中。

注意: 有些同学想到使用append()函数,这里要特别注意,append()函数是每次追加一个元素,如果使用append()函数,会把需要追加的那个列表当成一个数据来使用,不信你看下面这个:

方法一:

方法二:使用“+”来连接两个列表,即就是把l2列表的数据复制到l1列表中。

0?wx_fmt=png

方法三:使用列表[:]。切片的方法,大家都知道如果不指定start和end,则表示输出该列表的所以元素。

# -*- coding: UTF-8 -*-
a = [1, 2, 3]
 #把列表a复制到列表b
b = a[:]
 print b

7.题目:输出9*9乘法口诀表。

程序分析:分行与列考虑,共9行9列,i控制行,j控制列。如果不要求格式的话,就简单了,可以任意格式输出,如下:

0?wx_fmt=png

8.题目:暂停一秒输出。

程序分析:暂停时间的函数为 time.sleep(),此处可随意举例,列表,元组,字典均可。

0?wx_fmt=png

9.题目:斐波那契数列。

程序分析:斐波那契数列(Fibonacci sequence),又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……。 

0?wx_fmt=png

方法一:

0?wx_fmt=png

方法二:


方法三:如果你需要输出指定个数的斐波那契数列,可以使用以下代码:

 
 

10.题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

程序分析:经过计算和寻找规律得到,兔子的规律为数列1,1,2,3,5,8,13,21….典型的斐波那契数列,这就是为什么我要把斐波那契数列数列放在第九题的原因,那么根据上一题的方法三,我们就非常轻松的求得每月兔子的数量。

此外,还有一种比较漂亮的输出:

0?wx_fmt=png

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,我来回答这道题目。 如果小明共回答了10道,每得分为10分,那么小明可以获得最高100分的总分。假设小明回答了n道题目,对于每道题目,他得到的分数为x1, x2, ..., xn。那么小明的总得分为:x1 + x2 + ... + xn。 假设小明在回答第i道题目时,得到了xi分,但是正确答案的分值应该是10分。那么,小明在这道题目上的得分应该是min(xi, 2)分。 例如,如果小明在某一道题目上得到了5分,但是正确答案的分值为10分,那么小明在这道题目上的得分应该是2分(因为得分不超过2分)。 假设小明在回答完10道题目后,总得分为76分。那么,小明一共回答了多少道题目呢? 假设小明回答了n道题目,那么小明的总得分可以表示为: x1 + x2 + ... + xn 在每道题目上的得分不超过2分的情况下,小明的总得分可以表示为: min(x1, 2) + min(x2, 2) + ... + min(xn, 2) 因此,我们可以列出以下方程: min(x1, 2) + min(x2, 2) + ... + min(xn, 2) = 76 由于每道题目的得分不超过10分,因此对于每个i,都有min(xi, 2) <= 10。因此,我们可以列出以下不等式: min(x1, 2) + min(x2, 2) + ... + min(xn, 2) <= 10n 将上述两个式子结合起来,得到: 10n >= 76 因此,n >= 8。也就是说,小明至少回答了8道题目。 现在,我们来看一下小明回答8道题目的情况。假设小明在这8道题目上的得分分别为x1, x2, ..., x8。根据意,我们有: min(x1, 2) + min(x2, 2) + ... + min(x8, 2) = 76 由于每道题目的得分不超过10分,因此对于每个i,都有min(xi, 2) <= 10。因此,上式左边的值不超过16。 由于8道题目的得分总和最高只能为80分,因此我们可以枚举所有可能的得分合,找出符合上述方程的得分合。经过计算,我们可以得到符合条件的得分合共有4种: (10, 10, 10, 10, 10, 2, 2, 2): ### 回答2: 设小明做对了x道,则答错了10-x道。 根据题目中的得分规则:得分=答对题目数量 × 10 - 答错的题目数量 × 2。 根据题目中的信息,可以列出方程:10x - 2(10 - x) = 76。 化简方程可得:10x - 20 + 2x = 76。 整理方程可得:12x - 20 = 76。 移项得:12x = 96。 解方程得:x = 8。 所以,小明共答对了8道。 ### 回答3: 设小明共答对x道,那么他答错的数就是10-x道。 根据意,他每答对一道得10分,答错一道倒扣2分,可以得到以下等式: x * 10 - (10-x) * 2 = 76 解方程得: 10x - 20 + 2x = 76 化简,得到: 12x - 20 = 76 将常数项移项,得到: 12x = 96 将方程两边同除以12,得到: x = 8 所以,小明一共答对了8道

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值