python练习题--群组练习题(1)

1.首先自已定义一个变量answer,假如answer = 55,然后提示让用户猜数字,如果用户猜的数字过大,就输出大了,如果猜的数字过小,就输出小了,直到用户猜对了。提示用户猜对了,并给出用户一共猜了多少次。

'例如:answer = 55'

'用户输入:60'

'输出:大了'

'用户输入:50'

'输出:小了'

'用户输入:55'

'输出:正确,一共猜了3次'

count=0
while True: 
    answer=55
    count=count+1
    guess=int(input('请输入你猜的数值:'))
    if guess>answer:
        print('你猜大了!')
        continue
    if guess<answer:
        print('你猜小了!')
        continue
    else:
        print('你猜对了!',end=' ')
        break
print('你猜了{0}次'.format(count))

2.上一题answer是提前设置好的,代码不修改的话,每次运行正确的数字总是55,现在我们需要将answer设置成随机的,这一次代码运行answer是89,下次运行answer就变成另一个数字了,需要在上一题的基础上,再运用random模块里面的函数。

import random
def guess_num(answer):
    count=0
    while True:
        count=count+1
        guess=int(input('请输入你猜的数值:'))
        if guess>answer:
            print('你猜大了!')
            continue
        if guess<answer:
            print('你猜小了!')
            continue
        else:
            print('你猜对了!',end=' ')
            break
    print('你猜了{0}次'.format(count))
if __name__=='__main__':
    answer=random.randint(0,1000)
    guess_num(answer)

3.输入一个正整数n,对其进行因式分解并输出。例如:输入18,输出18=2*3*3

try:
    num=int(input('请输入一个整数:'))
except TypeError as ty:
    print('请输入数字')
for i in range(1,10):
    for j in range(1,10):
        for k in range(1,num):
            if num==i*j*k:
                print('{0}={1}*{2}*{3}'.format(num,i,j,k))

4.设计一个函数装饰器,这个装饰器可以记录任意函数单次调用的运行时间。如果函数的运行时间小于1秒,就不输出其运行时间,否则输出此函数的运行时间。所以我们需要写运行时间小于1秒的函数和运行时间大于1秒的函数去测试。

import time
def show_time(func):
	def inner():
		start_time =time.time()
		func()
		end_time=time.time()
		my_time=end_time-start_time
                if my_time>=1.0:
		        return my_time
	return inner
@show_time
def more():
    print('大于一秒')
    time.sleep(1)#让程序休眠一秒
@show_time
def less():
    print('小于一秒')
print(more())
print(less())

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值