python time用法(一)

python time库的用法

time库导入

import time

time方法

时间戳(1970.1.1 0:0到现在的秒数)第3、8行
用法:time.time()

sleep方法

等待(秒数)第6行
用法:time.sleep(min)

实例

import time

_time_ = time.time()
print (_time_)

time.sleep(1)

_time1_ = time.time()
print (_time1_)

_time = _time1_ - _time_
print (_time) 

input () 

1行:

time库导入

3、8行:

设定变量_time(time1)_为当前时间戳

time方法

4、9行:

打印变量_time(time1)_

6行:

等待1秒

sleep方法

14行:

用输入禁止退出

这篇文章结束了,给个三连吧!
剩两个方法下节再介绍!

彩蛋

非原创,作者优化

汉诺塔游戏

print("汉诺塔游戏")
#左中右塔用一个列表存储
left = list()
center = list()
right = list()
"""
初始化函数
"""


def init():
    size = input("(请友善输入整数,未写判断!)请输入层数:")
    #初始化塔列表,如5层 左边塔放 1-3-5-7-9,中间和右边放5个-1
    for i in range(1, int(size) + 1):
        left.append(i*2-1)
        center.append(-1)
        right.append(-1)
    return int(size)


"""
打印样式函数
"""


def printStyling(i, size, ta):
    if ta[i] != -1:
        # 打印前空格
        for kong in range(int(size - (ta[i] - 1) / 2)):
            print(" ", end="")
        # 打印塔元素
        for le in range(ta[i]):
            print("X", end="")
        # 打印后空格
        for kong in range(int(size - (ta[i] - 1) / 2)):
            print(" ", end="")
    # 左塔这一层为空格
    else:
        # 打印前面空格
        for kong in range(size):
            print(" ", end="")
        # 打印中间的棒棒
        print("|", end="")
        # 打印后面的空格
        for kong in range(size):
            print(" ", end="")


"""
控制台打印结果
"""


def show(size):
    #修饰
    print("-"*35)
    #循环层数等于size
    for i in range(size):
        # 打印左边塔
        printStyling(i, size, left)
        # 打印中间塔
        printStyling(i, size, center)
        # 打印右边塔
        printStyling(i, size, right)
        #每行打印一个换行
        print()
    #修饰
    print("-" * 35)


"""
判断可不可以移动
takeOff减少,putOn增加,size层数,tSize和pSize剩余空间
"""


def judge(takeOff, putOn, size, tSize, pSize, count):
    # 如果左塔的剩余空间等于size,就是空的,就没有元素可移动
    if tSize == size:
        print("操作无效!")
        return 0
    # 如果中塔为空,可以移动
    if pSize == size:
        # 中间的最后一个元素赋上左塔的第一个元素的值
        putOn[pSize - 1] = takeOff[tSize]
        # 左塔的第一个元素赋值-1
        takeOff[tSize] = -1
        # 左塔的剩余空间+1
        tSize += 1
        # 中塔的剩余空间-1
        pSize -= 1
        #步数+1
        count += 1
        #移动成功,返回剩余空间和步数
        return tSize, pSize, count
    # 如果中塔最上方元素比左塔最上方元素大,即可以移动
    elif putOn[pSize] > takeOff[tSize]:
        # 中塔当前最上方元素的再上一个元素(-1)赋上左塔最上方元素的值
        putOn[pSize - 1] = takeOff[tSize]
        # 左塔最上方元素赋值-1
        takeOff[tSize] = -1
        # 左塔剩余空间+1
        tSize += 1
        # 中塔剩余空间-1
        pSize -= 1
        #步数+1
        count += 1
        # 移动成功,返回剩余空间和步数
        return tSize, pSize, count
    # 否则不可以移动
    else:
        print("操作无效!")
        return 0


"""
主要运行函数
"""


def main():
    #初始化游戏
    size = init()
    # 存放最初的盘剩余空间 lSize左塔 cSize中塔 rSize右塔
    lSize = 0
    cSize = size
    rSize = size
    #存放操作步数
    count = 0
    #打印游戏介绍
    print("将左塔完整地移到右塔就是胜利!")
    print("左-1 中-2 右-3  退出请输入:quit")
    print('例如输入:"1-2"就是将左塔的最上元素放到中塔')
    print("%d层的最佳步数是%d" % (size, pow(2, size)-1))
    #游戏进行
    while True:
        print("当前移动了%d步" % (count))
        #显示当前塔的状态
        show(size)
        #判断右塔是否没有剩余空间,没有即胜利,并退出游戏
        if rSize == 0:
            if count == pow(2, size)-1:
                print("恭喜你使用最少步数完成汉诺塔!")
            else:
                sgjii = (pow(2, size)-1)
                print("超出最少步数%d步" % (count-sgjii))
            break
        #获取玩家操作
        select = input("请操作:")
        #左塔移中塔
        if select == "1-2":
            result = judge(left, center, size, lSize, cSize, count)
            if result == 0:
                continue
            else:
                lSize, cSize, count = result
        #左塔移右塔,下面同样
        elif select == "1-3":
            result = judge(left, right, size, lSize, rSize, count)
            if result == 0:
                continue
            else:
                lSize, rSize, count = result
        elif select == "2-1":
            result = judge(center, left, size, cSize, lSize, count)
            if result == 0:
                continue
            else:
                cSize, lSize, count = result
        elif select == "2-3":
            result = judge(center, right, size, cSize, rSize, count)
            if result == 0:
                continue
            else:
                cSize, rSize, count = result
        elif select == "3-1":
            result = judge(right, left, size, rSize, lSize, count)
            if result == 0:
                continue
            else:
                rSize, lSize, count = result
        elif select == "3-2":
            result = judge(right, center, size, rSize, cSize, count)
            if result == 0:
                continue
            else:
                rSize, cSize, count = result
        #输入quit退出游戏
        elif select == "quit":
            break
        #如果输入的是其他不识别的文字,就拜拜
        else:
            print("操作有误!")
        continue


main()

input("")

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值