会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132885个问题
Python 全系列/第四阶段:函数式编程和核心特性/内存管理(旧) 9706楼
Python 全系列/第二阶段:Python 深入与提高/坦克大战 9707楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/IO 流技术(旧) 9709楼
Python 全系列/第八阶段:轻量级Web开发利器-Flask框架/Flask视图基础和URL 9711楼
JAVA 全系列/第十四阶段:全文检索服务/Solr 9712楼
JAVA 全系列/第三阶段:数据库编程/Oracle 数据库的使用 9713楼

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入门/函数和内存分析 9714楼
JAVA 全系列/第十阶段:百战旅游网项目/百战旅游网 9715楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/容器(旧) 9716楼
Python 全系列/第七阶段:Web全栈开发基础与前端/CSS3 9717楼
Python 全系列/第一阶段:Python入门/编程基本概念 9720楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

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