Test2
1.
企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
答案:
money = input("输入公司当月的利润金额:")
if money <= 10:
print "奖金:%f" %(money*0.1)
elif 10 < money <= 20:
print "奖金:%f" %((money-10)*0.075+1)
elif 20 < money <= 40:
print "奖金:%f" %((money-20)*0.05+1.75)
elif 40 < money <= 60:
print "奖金:%f" %((money-40)*0.03+2.75)
elif 60 < money <= 100:
print "奖金:%f" %((money-60)*0.015+3.35)
else:
print "奖金:%f" %((money-100)*0.01+3.95)
测试结果:
[root@localhost Desktop]# vim annie.py
[root@localhost Desktop]# ./annie.py
输入公司当月的利润金额:4
奖金:0.400000
[root@localhost Desktop]# ./annie.py
输入公司当月的利润金额:16
奖金:1.450000
[root@localhost Desktop]# ./annie.py
输入公司当月的利润金额:26
奖金:2.050000
[root@localhost Desktop]# ./annie.py
输入公司当月的利润金额:56
奖金:3.230000
[root@localhost Desktop]# ./annie.py
输入公司当月的利润金额:66
奖金:3.440000
[root@localhost Desktop]# ./annie.py
输入公司当月的利润金额:106
奖金:4.010000
2. 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
答案:
import math #引入一个函数库
for i in range(1,10000):
x = math.sqrt(i+100) #math.sqrt()对括号内的数开平方的函数
y = math.sqrt(i+168)
if divmod(x, int(x)) == (1,0): #开方后的数字除以自己的整型刚好整除没有余数的话就是完全平方数
if divmod(y, int(y)) ==(1,0):
print"%d" %(i)
测试:
[root@localhost Desktop]# ./annie.py
156
3. # (2017-小米-句子反转)
- 题目描述:
> 给定一个句子(只包含字母和空格), 将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。比如: (1) “hello xiao mi”-> “mi xiaohello”
- 输入描述:
> 输入数据有多组,每组占一行,包含一个句子(句子长度小于1000个字符)
- 输出描述:
> 对于每个测试示例,要求输出句子中单词反转后形成的句子
- 示例1:
```
- 输入
hello xiao mi
- 输出
mi xiao hello
答案:
annie = raw_input("请输入你的句子:").strip()
if len(annie) < 1000:
print annie.split()[::-1]
else:
exit()
测试:
[root@localhost Desktop]# ./annie.py
请输入你的句子:riven annie irelia
['irelia', 'annie', 'riven']
4. # (2017-好未来-笔试编程题)--练习
- 题目描述:
输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”
- 输入描述:
每个测试输入包含2个字符串
- 输出描述:
输出删除后的字符串
- 示例1:
```
输入
They are students.
aeiou
输出
Thy r stdnts.
```
答案:
s1=raw_input("first str:") #They are students.
s2=raw_input("last str:") #aeiou
# 遍历str1;
# 判断str1的字符是否为str2的成员(子串);
# 如果是成员, 将该字符替换为空,实现删除的目的;
for i in s1: # T h e y
if i in s2:
s1=s1.replace(i,"")
print s1
测试:
[root@localhost Desktop]# ./annie.py
first str:They are students.
last str:aeiou
Thy r stdnts.
5. # (2017-网易-笔试编程题)-字符串练习
小_易喜欢的单词具有以下特性:
1.单词每个字母都是大写字母
2.单词没有连续相等的字母
例如:
小易不喜欢"ABBA",因为这里有两个连续的'B'
小易不喜欢"THETXH",因为这里包含子序列"THTH"
小易喜欢"A","ABA"和"ABCBA"这些单词
给你一个单词,你要回答小易是否会喜欢这个单词。
- 输入描述:
输入为一个字符串,都由大写字母组成,长度小于100
- 输出描述:
如果小易喜欢输出"Likes",不喜欢输出"Dislikes"
示例1 :
```
输入
AAA
输出
Dislikes
```
答案:
while True:
s =raw_input("str:")
if not s.isupper() and len(s)< 100:
print"Dislikes"
else:
for i in range(0,len(s)-1):
判断字符前后有没有重复的 这里是len(s)-1不然下面没法进行i+1
if s[i] ==s[i+1]:
print"Dislikes"
break
else:
print"Likes"
测试:
[root@localhost Desktop]# ./annie.py
str:ABBA
Likes
Dislikes
str:ABCD
Likes
Likes
Likes
str:Abb
Dislikes
str: