会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132489个问题

def transformation():

    while True:
        ms = input("请输入一个毫秒数: ")
        # 对传进来的参数进行判断如果大于0就进行计算
        # 用lstrip的截取负号,防止对负数进行误判
        if ms.lstrip('-').isdigit() == False:
            print("请输入一个数字 ! ")
            continue
        elif int(ms) < 0:
            # 如果不是数字就提示用户
            print("请输入一个大于0的数字")
            continue
        else:
            #一秒等于1000毫秒
            print("{0}毫秒是 {1}秒".format(ms, ms * 1000))
            # 一分钟等于60*1000毫秒
            print("{0}毫秒是 {1}分钟".format(ms, ms * 1000 * 60))
            # 一小时等于60*60*1000毫秒
            print("{0}毫秒是 {1}小时".format(ms, ms * 1000 * 60 * 60))
            break


transformation()
# ms = 1
# print(ms*1000)

image.png

python版本3.7


老师请问一下为什么ms*1000会出现这么多1。我下面用了ms = 1做测试,每一行都debug过了,然后减少了一个isdigit判断测试了一下也会出现同样的问题,但是如果将ms改成数字1*1000就等于1000。debug的时候print那一行并没有出现参数。


如果可以的话老师可以对我的代码逻辑进行评价吗?


非常感谢!!!!



Python 全系列/第一阶段:Python入门/函数和内存分析 1217楼
Python 全系列/第一阶段:Python入门/编程基本概念 1219楼
Python 全系列/第一阶段:Python入门/控制语句 1220楼
Python 全系列/第一阶段:Python入门/面向对象 1221楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637