python 简单实例训练(61~70)

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
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值