大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说Python 经典编程题,希望能够帮助大家进步!!!
代码语言:javascript复制# -*- coding: cp936 -*-
#enconding: utf-8
########################################################
#打印99乘法表
########################################################
def gen(line_cnt):
for i in range(1,line_cnt 1):
for j in range(1,i 1):
m=i*j
print '%s*%s=%st' %(i,j,m),
print ''
if __name__== '__main__':
gen(9)
#########################################################
#求可用被17整除的所有三位数
for num in range(99,1000):
if num % 17 == 0:
print num
##########################################################
#写一个程序,提示输入整数X,然后计算从1到X连续整数的和
sum = 0
x = int (raw_input ('pls input x: '))
#输入函数
for num in range(0,x):
sum = num
print sum
###########################################################
#改写上面的计算过程,循环嵌套计算连续的和
x = int(raw_input('please input x : ' ))
layer = 1
while layer <= x:
lsum = 0
count =1
while count <=layer:
lsum = count
count = 1
fstr = ''
for num in range(1 , layer ):
fstr = fstr str(num) ' '
fstr = str(layer)
print fstr,'=',lsum
layer = 1
# 如何控制空格的数量让等号在一起呢
#############################################################################
#题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
cnt = 0#count the sum of result
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if i!=j and i!=k and j!=k:
print i*100 j*10 k
cnt =1
print cnt
"""
题目:企业发放的奖金根据利润提成。利润(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 = int(raw_input('Enter the profit:'))
arr = [1000000,600000,400000,200000,100000,0]
rat = [0.01,0.015,0.03,0.05,0.075,0.1]
r = 0
for idx in range(0,6):
if i>arr[idx]:
r =(i-arr[idx])*rat[idx]
print (i-arr[idx])*rat[idx]
i=arr[idx]
print r
#题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
import math
num = 1
while True:
if math.sqrt(num 100)-int(math.sqrt(num 100)) == 0 and math.sqrt(num 268)-int(math.sqrt(num 268)) == 0:
print(num)
break
num = 1
#题目:输入某年某月某日,判断这一天是这一年的第几天?
#author: 叛军
import datetime
import time
dtstr = str(raw_input('Enter the datetime:(20151215):'))
dt = datetime.datetime.strptime(dtstr, "%Y%m%d")
another_dtstr =dtstr[:4] '0101'
another_dt = datetime.datetime.strptime(another_dtstr, "%Y%m%d")
print (int((dt-another_dt).days) 1)
##古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
###后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
a = 1
b = 1
for i in range(1,21,2):
print '%d %d'%(a,b),
a = b
b = a
###题目:判断101-200之间有多少个素数,并输出所有素数。
#!/usr/bin/python
#-*- coding:utf-8 -*-
from math import sqrt
def main():
for i in range(101,201):
flag = 1
k = int(sqrt(i))
for j in range(2,k 1):
if i%j == 0:
flag = 0
break
if flag == 1:
print ']'%(i),
if __name__ == "__main__":
main()
#题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
#!/usr/bin/python
#-*- coding:utf-8 -*-
def main():
for i in range(100,1000):
a = i
b = i/100
c = (int(i/10))
if i == a**3 b**3 c**3:
print "]"%(i),
if __name__ == "__main__":
main()