61.题目:’809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。
程序分析:注意要分解这个表达式,可以分成‘8*??’、‘9*??’,然后用条件判断。
# -*- coding: UTF-8 -*-
for i in range(10,100):
if (10 <= 8 * i and 8 * i < 100) and (9 * i >= 100 and 9 * i < 1000):
print '?? = %d'%(i)
print '800 * ?? + 9 * ?? + 1 = %d' %(809 * i + 1)
输出:
?? = 12
800 * ?? + 9 * ?? + 1 = 9709
62.题目:时间函数举例1。
程序分析:计算输出3000个数的用时。
# -*- coding: UTF-8 -*-
if __name__ == '__main__':
import time
start = time.time()
for i in range(3000):
print i
end = time.time()
print end - start
输出:
1
2
...
2998
2999
0.108000040054
63.题目:时间函数举例2,一个猜数游戏,判断一个人反应快慢。
程序分析:其实跟之前猜数字游戏是一样的,只是这里增加了时间统计,来计算你的反应时间。
# -*- coding: UTF-8 -*-
if __name__ == '__main__':
import time
import random
play_it = raw_input('do you want to play it.(\'y\' or \'n\'):')
while play_it == 'y':
i = random.randint(0,2**32) % 100
start = time.clock()
a = time.time()
guess = int(raw_input('input your guess:'))
while guess != i:
if guess > i:
print 'please input a little smaller'
guess = int(raw_input('input your guess:'))
else:
print 'please input a little bigger'
guess = int(raw_input('input your guess:'))
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.')
输出:
do you want to play it.('y' or 'n'):y
input your guess:93
please input a little smaller
input your guess:20
please input a little bigger
input your guess:50
please input a little bigger
input your guess:80
please input a little smaller
input your guess:60
please input a little bigger
input your guess:70
please input a little bigger
input your guess:78
please input a little smaller
input your guess:75
please input a little smaller
input your guess:72
1.95785774458
you are very clever!
Congradulations
The number you guess is 72
do you want to play it.
64.题目:时间函数举例3。
程序分析:输出3000个数开始和结束的时间差
# -*- coding: UTF-8 -*-
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)
输出:
...
9997
9998
9999
different is 0.414
65.题目:时间函数举例4。
# -*- coding: UTF-8 -*-
if __name__ == '__main__':
import time
print time.ctime(time.time())
print time.asctime(time.localtime(time.time()))
print time.asctime()
print time.gmtime(time.time())
输出:
Thu Nov 17 18:00:49 2016
Thu Nov 17 18:00:49 2016
Thu Nov 17 18:00:49 2016
time.struct_time(tm_year=2016, tm_mon=11, tm_mday=17, tm_hour=10, tm_min=0, tm_sec=49, tm_wday=3, tm_yday=322, tm_isdst=0)
66.题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件”test”中保存。
# -*- coding: UTF-8 -*-
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()
输出:
please input a string:
mt
MT
67.题目:列表转换为字典。
# -*- coding: UTF-8 -*-
i = ['a', 'b']
l = [1, 2]
print dict([l,i])
输出:
{'a': 'b', 1: 2}
68.题目:从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件”test”中保存。
# -*- coding: UTF-8 -*-
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()
输出:
please input a string:
hello world
HELLO WORLD
69.题目:从键盘输入一些字符,逐个把它们送到磁盘上去,直到输入一个#为止。
# -*- coding: UTF-8 -*-
if __name__ == '__main__':
from sys import stdout
filename = raw_input('input a file name:')
fp = open(filename,"w")
ch = raw_input('input string:')
while ch != '#':
fp.write(ch)
stdout.write(ch)
ch = raw_input('')
fp.close()
输出:
input a file name:mt
input string:1
11111
1111#
70.题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
程序分析:
桃子总数为total个,
(1) 第一个猴子分完5份后,每个猴子拿的桃子个数为:(total-1)/5;
(2) 第一个猴子拿走一份后,剩余的桃子为tota_01 = total-(total-1)/5;然后第二个猴子又将剩余的桃子分为5份,
即每个猴子拿(total_01-1)/5;
(3) 第三个猴子同理:将剩余的桃子total_02 = total - (total-1)/5 - (total_01-1)/5 分为5份;
每个猴子拿(total_02-1)/5;
(4) 第四个猴子同理:将剩余的桃子total_03 = total - (total-1)/5 - (total_01-1)/5 - (total_02-1)/5 分为5份;
每个猴子拿(total_03-1)/5;
(5) 第五个猴子同理:将剩余的桃子total_04 = total - (total-1)/5 - (total_01-1)/5 - (total_02-1)/5 - (total_03-1)/5 分为5份;
每个猴子拿(total_04-1)/5;
所以源程序为:
# -*- coding: UTF-8 -*-
if __name__ == '__main__':
i = 0
j = 1
x = 0
while (i < 5) :
x = 4 * j
for i in range(0,5) :
if(x%4 != 0) :
break
else :
i += 1
x = (x/4) * 5 +1
j += 1
print x
输出:
3121