python返回值return和while循环_从while循环返回“None”

我有以下功能:def AdjustTime(f):

if len(f) == 1:

return '0' + f + '00'

elif len(f) == 2:

return f + '00'

elif len(f) == 3:

return '0' + f

elif len(f) == 4:

return f

else:

while True:

if len(f) > 0 and len(f) <= 4 and int(f[:2]) <= 23 and int(f[2:]) <= 59:

return f

break

else:

clear()

print f,'Get this date right'

f = raw_input('')

直到我得到一个正确的数字,这会导致一个TypeError:'NoneType'对象不可订阅。怎么解决这个问题?在

编辑:首先,感谢括号中提到的,我在自己编写代码时忘记了几次,现在代码就是我正在尝试的代码。在

我想把草稿中的一个文本字符串放入这个函数中,if/elif将把一个1-2-3的字符串转换成我需要的4位数,以及我想要它的方式。例如,字符串“1”将变为“0100”。但你知道的。如果用户搞砸了,我就用它。是的,我应该用其他方法重新组织它,比如在实际编辑字符串之前使用int(f[:2]) <= 23 and int(f[2:]) <= 59。在

回到正轨上,如果用户搞砸了,输入将给他插入一个正确字符串的机会,该字符串将通过while传递。问题是,当用户输入正确的值时,这就是print f所显示的值,该值为1234:

^{pr2}$

现在,我还能帮你什么忙吗?在

编辑2:既然每个人都要求完整的代码,你是来帮我的,我只是觉得没必要。为此道歉(:from urllib import quote

import time

from webbrowser import open

from console import clear

rgv = ['a path', 'This is an awesome reminder\nWith\nMultiple\nLines.\nThe last line will be the time\n23455']

a = rgv[1].split('\n')

reminder = quote('\n'.join(a[:(len(a)-1)]))

t = a[len(a)-1]

def AdjustTime(f):

if len(f) == 1:

return '0' + f + '00'

elif len(f) == 2:

return f + '00'

elif len(f) == 3:

return '0' + f

elif len(f) == 4:

return f

else:

while True:

if len(f) > 0 and len(f) <= 4 and int(f[:2]) <= 23 and int(f[2:]) <= 59:

return f

break

else:

clear()

print 'Get this date right'

f = raw_input('')

mins = int(AdjustTime(t)[:2])*60 + int(AdjustTime(t)[2:])

local = (time.localtime().tm_hour*60+time.localtime().tm_min)

def findTime():

if local < mins:

return mins - local

else:

return mins - local + 1440

due = 'due://x-callback-url/add?title=' + reminder + '&minslater=' + str(findTime()) + '&x-source=Drafts&x-success=drafts://'

open(due)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值