死siua11 发表于 2017-5-6 12:40:35

Python 实现《C 语言一百例》( 1

  初学 Python,拿一些简单的题来练习基本的语法。


##【程序1】
## 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
counter=0
for i in range(4):
for j in range(4):
for k in range(4):
if i!=j and j!=k and k!=i:
counter=counter+1
print "%d%d%d"%(i+1,j+1,k+1)
print "There are %d solutions"%counter

##【程序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,求应发放奖金总数?   
bonus1=100000*0.1;   
bonus2=bonus1+100000*0.075;   
bonus4=bonus2+200000*0.05;   
bonus6=bonus4+200000*0.03;   
bonus10=bonus6+400000*0.015;   
def salary(benefit):   
benefit=int(benefit)   
if benefit<100000:   
return benefit*0.1
else:   
if 100000<=benefit<200000:   
return bonus1+(benefit-100000)*0.075
else:   
if 200000<=benefit<400000:   
return bonus2+(benefit-200000)*0.05
else:   
if 400000<=benefit<600000:   
return bonus4+(benefit-400000)*0.03
else:   
if 600000<=benefit<1000000:   
return bonus6+(benefit-600000)*0.015
else:   
if 1000000<=benefit:   
return bonus10+(benefit-1000000)*0.01
if __name__=="__main__":   
benefit=raw_input("input you benifits:\n")   
print "The salary you can get is %d"%(salary(benefit))
  


##【程序3】
## 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
import math
for x in range(1,100000,1):
if math.ceil(math.sqrt(x+100)) == math.floor(math.sqrt(x+100))\
and math.ceil(math.sqrt(x+268)) == math.floor(math.sqrt(x+268)):
print x
  


# -*- coding: cp936 -*-
##【程序4】
## 题目:输入某年某月某日,判断这一天是这一年的第几天?
year=int(raw_input("input the year:\n"))
month=int(raw_input("input the month:\n"))
day=int(raw_input("input the day:\n"))
mdays={1:0,2:31,3:59,4:90,5:120,6:151,7:181,8:212,9:243,10:273,11:304,12:334}
if year%400==0 or (year%4==0 and year%100!=0) and month>=3:
days=mdays+day+1
else:
days=mdays+day
print "The date is the %dth days in a year"%days
  


# -*- coding: cp936 -*-
##【程序5】
## 题目:输入三个整数x,y,z,请把这三个数由小到大输出。
x=int(raw_input());
y=int(raw_input());
z=int(raw_input());
a=[]
a.extend()
a.sort()
print a
  


# -*- coding: cp936 -*-
##【程序6】
## 题目:用*号输出字母C的图案。
print "*"*5
print "*"
print "*"
print "*"*5
  


# -*- coding: cp936 -*-
##【程序7】(略)
## 题目:输出特殊图案
##【程序8】
## 题目:输出9*9口诀。
for x in range(1,10):
print "\n"
for y in range(1,10):
if x>=y:
print "%d"%(x*y),
##【程序9】(略)
##题目:要求输出国际象棋棋盘。
##【程序10】(略)
## 题目:打印楼梯,同时在楼梯上方打印两个笑脸。
页: [1]
查看完整版本: Python 实现《C 语言一百例》( 1