"景先生毕设|www.jxszl.com

100道Python编程题及答案(五)

2023-09-12 15:40编辑: www.jxszl.com景先生毕设
                     100道Python编程题及答案(五)
题目81:一个整数,它加上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
题目82:输入某年某月某日,判断这一天是这一年的第几天?
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)
题目83:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
    后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
a = 1
b = 1
for i in range(1,21,2):
    print '%d %d'%(a,b),
    a += b
    b += a
 
题目84:判断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 '%5d'%(i),
   
if __name__ == "__main__":
    main()

题目85:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
#!/usr/bin/python
#-*- coding:utf-8 -*-
def main():
    for i in range(100,1000):
        a = i%10
        b = i/100
        c = (int(i/10))%10
        if i == a**3+b**3+c**3:
            print "%5d"%(i),
if __name__ == "__main__":
    main()

题目89:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:
   每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。
1.程序分析:
2.程序源代码:
'''
from sys import stdout
if __name__ == '__main__':
    a = int(raw_input('input a number:n'))
    aa = []
    aa.append(a % 10)
    aa.append(a % 100 / 10)
    aa.append(a % 1000 / 100)
    aa.append(a / 1000)
    for i in range(4):
        aa[i] += 5
        aa[i] %= 10
    for i in range(2):
        aa[i],aa[3 - i] = aa[3 - i],aa[i]
    for i in range(3,-1,-1):
        stdout.write(aa[i])
'''
题目90:专升本一题,读结果。
1.程序分析:
2.程序源代码:
'''
if __name__ == '__main__':
    M = 5
    a = [1,2,3,4,5]
    i = 0
    j = M - 1
    while i < M:
        a[i],a[j] = a[j],a[i]
        print a
        i += 1
        j -= 1
    for i in range(5):
        print a[i]
'''
题目91:时间函数举例1
1.程序分析:
2.程序源代码:
'''
if __name__ == '__main__':
    import time
    print time.ctime(time.time())
    print time.asctime(time.localtime(time.time()))
    print time.asctime(time.gmtime(time.time()))
'''
题目92:时间函数举例2
1.程序分析:           
2.程序源代码:
'''
if __name__ == '__main__':
    import time
    start = time.time()
    for i in range(3000):
        print i
    end = time.time()
    print end - start
'''
题目93:时间函数举例3
1.程序分析:
2.程序源代码:
'''
if __name__ == '__main__':
    import time
    start = time.clock()
    for i in range(10000):
        print i
    end = time.clock()
    print 'different is %6.3f' % (end - start)
   
'''
题目94:时间函数举例4,一个猜数游戏,判断一个人反应快慢。(版主初学时编的)
1.程序分析:
2.程序源代码:
'''
if __name__ == '__main__':
    import time
    import random
   
    play_it = raw_input('do you want to play it.('y' or 'n')')
    while play_it == 'y':
        c = raw_input('input a character:n')
        i = random.randint(0,2**32) % 100
        print 'please input number you guess:n'
        start = time.clock()
        a = time.time()
        guess = int(raw_input('input your guess:n'))
        while guess != i:
            if guess > i:
                print 'please input a little smaller'
                guess = int(raw_input('input your guess:n'))
            else:
                print 'please input a little bigger'
                guess = int(raw_input('input your guess:n'))
        end = time.clock()
        b = time.time()
        var = (end - start) / 18.2
        print var
        # print 'It took you %6.3 seconds' % time.difftime(b,a))
        if var < 15:
            print 'you are very clever!'
        elif var < 25:
            print 'you are normal!'
        else:
            print 'you are stupid!'
        print 'Congradulations'
        print 'The number you guess is %d' % i
        play_it = raw_input('do you want to play it.')
       
'''
题目96:计算字符串中子串出现的次数
1.程序分析:
2.程序源代码:
'''
if __name__ == '__main__':
    str1 = raw_input('input a string:n')
    str2 = raw_input('input a sub string:n')
    ncount = str1.count(str2)
    print ncount
'''
题目97:从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止。
1.程序分析:     
2.程序源代码:
'''
if __name__ == '__main__':
    from sys import stdout
    filename = raw_input('input a file name:n')
    fp = open(filename,"w")
    ch = raw_input('input string:n')
    while ch != '#':
        fp.write(ch)
        stdout.write(ch)
        ch = raw_input('')
    fp.close()
       
'''
题目98:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。
   输入的字符串以!结束。
1.程序分析:
2.程序源代码:
'''
if __name__ == '__main__':
    fp = open('test.txt','w')
    string = raw_input('please input a string:n')
    string = string.upper()
    fp.write(string)
    fp = open('test.txt','r')
    print fp.read()
    fp.close()
'''
题目99:有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),
 输出到一个新文件C中.
1.程序分析:
2.程序源代码:
'''
if __name__ == '__main__':
    import string
    fp = open('JCP099.py')
    a = fp.read()
    fp.close()
    fp = open('JCP098.py')
    b = fp.read()
    fp.close()
    fp = open('C.txt','w')
    l = list(a + b)
    l.sort()
    s = ''
    s = s.join(l)
    fp.write(s)
    fp.close()
   
题目100:企业发放的奖金根据利润提成。利润(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

原文链接:http://www.jxszl.com/biancheng/python/446184.html