这个问题该如何解决

这个问题该如何解决

from datetime import datetime


def gen_trans_id(date=None):
   """
   根据所传入的时间得到一个唯一的交易流水ID
   :param date: 日期
   :return: 交易流水的ID字符串
   """
   # 如果没有传入时间,则使用系统当前的时间
   if date is None:
       date = datetime.now()
   # 怎样保证字符串的唯一
   # 日期+时间+毫秒+随机数(6位随机数)
   return date.strptime('%Y%m%d%H%M%S%f')

在这段代码下如何测试,我不要老师新建的那段,就这段代码测试这章节讲解的内容,按照之前所学的理解,后面的代码应该这么写,为什么会出错呢?

#不传入任何值,打印出结果

print(gen_trans_id())

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

9回答
好帮手慕美 2019-10-29 13:45:02

同学,你好。同学直接传入一个日期时间类型的参数就可以,例:

http://img1.sycdn.imooc.com//climg/5db7d163097729b105020472.jpg

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

提问者 怒焰狂暴 2019-10-29 13:18:19

传入实参的情况下,print里面该如何写

提问者 怒焰狂暴 2019-10-29 12:45:07

就是这段代码后面我要怎么输入能返回return的值就好,不要说其他的啦

提问者 怒焰狂暴 2019-10-29 12:44:03

老师你能不能把这个整段代码帮我理下,retrun返回的值如何输出,就这段的,不要东一个,西一个,分开我都懂,主要是如何结合一起,就这段的写出来我看看就好了

提问者 怒焰狂暴 2019-10-29 12:27:59

这里写错了,应该是return date.strptime('%Y%m%d%H%M%S%f')

提问者 怒焰狂暴 2019-10-29 12:22:45

返回的是

return datetime.strptime('%Y%m%d%H%M%S%f')

然后接下去我要如何传入值才能正确打印出来呢,随便写个数值,让整段代码能够正常运行。

print(),里面要怎么写呢

能不能帮我补充下,我怎么写都不对呢

好帮手慕美 2019-10-29 12:05:30

同学,你好。同学的代码已经实现了输出啊,print(gen_trans_id())是将gen_trans_id()函数返回的结果进行输出。同学程序报错的原因是因为使用了strptime()函数,该函数是将字符串格式转化为日期格式,需要传入两个参数。在本程序中应使用strftime()方法:将日期格式转化为字符串格式。

http://img1.sycdn.imooc.com//climg/5db7b9f909fe70e004950255.jpg

同学也可以在调用gen_trans_id()时将返回的结果赋值给变量,再进行输出。

参考代码:

http://img1.sycdn.imooc.com//climg/5db7b9d90978cac302960120.jpg

同学的理解是没问题的,在调用时不传入实参,date的值为None,则会输出当前时间。

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

提问者 怒焰狂暴 2019-10-29 11:52:42

我知道呀,你没明白我的意思呀,这段代码如何实现输出,能否把完整的贴出来我看下?返回的时候是return datetime.strptime('%Y%m%d%H%M%S%f'),那下面输出按照老师之前教的不就是

print(gen_trans_id()),我这边定义成一个空的字符串,按照程序逻辑来看,空的字符串就会返回当前时间.. 就这段完整代码能不能帮我理清下

好帮手慕美 2019-10-29 11:38:58

同学,你好。

1、应使用strftime()方法:将日期格式转化为字符串格式。

参考代码:

http://img1.sycdn.imooc.com//climg/5db7b41b097ae27905080239.jpg

2、同学用的是strptime():该函数是将字符串格式转化为日期格式,需要传入两个参数

例:

from datetime import datetime
stime = datetime.strptime('2008-02-14', '%Y-%m-%d')
print(stime)    # 2008-02-14 00:00:00

如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
1.Python零基础入门
  • 参与学习           人
  • 提交作业       2727    份
  • 解答问题       8160    个

想要进入Python Web、爬虫、人工智能等高薪领域,你需要掌握本阶段的Python基础知识,课程安排带你高效学习轻松入门,学完你也能听得懂Python工程师的行业梗。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师