if self.__hour <12:
standardTime+=" AM"
else:
standardTime+=" PM"
上面这段代码,不知道为什么if那半句能够执行,else这半句执行的时候会报错,如下:
File "Time3.py", line 76, in printStandard
standardTime+=" PM"
TypeError: bad operand type for unary +: 'str'
请高人指点一下,非常感谢!
请教一个python问题
-
- 帖子: 6
- 注册时间: 2010-11-29 19:24
- zkwlx
- 帖子: 988
- 注册时间: 2009-10-09 12:54
- 系统: debian
- 来自: 北京某胡同
-
- 帖子: 2061
- 注册时间: 2010-09-27 12:59
Re: 请教一个python问题
如果是按12小时记的话
小于12时 显示xxx AM 显示例如:10AM
大于12时 显示xxx PM 显示例如:13PM? 是不是有点不合适呢 。。 12小时制应显示 1PM
一点点小想法。
如果误解lz 请见谅
小于12时 显示xxx AM 显示例如:10AM
大于12时 显示xxx PM 显示例如:13PM? 是不是有点不合适呢 。。 12小时制应显示 1PM
一点点小想法。
如果误解lz 请见谅
生活里,有很多转瞬即逝,像在车站的告别,刚刚还相互拥抱,转眼已各自天涯。很多时候,你不懂,我也不懂,就这样,说着说着就变了,听着听着就倦了,看着看着就厌了,跟着跟着就慢了,走着走着就散了,爱着爱着就淡了,想着想着就算了。
-
- 帖子: 6
- 注册时间: 2010-11-29 19:24
Re: 请教一个python问题
zkwlx 写了:把上下文贴出来
上文就是一个转换标准时间的代码
代码: 全选
standardTime=""
if self.__hour==0 or self.__hour==12:
standardTime+="12:"
else:
standardTime+="%.2d:" % (self.__hour%12)
standardTime+="%.2d:%.2d" %(self.__minute,self.__second)
if self.__hour <12:
standardTime+="AM"
else:
standardTime+="PM"
PS:缩进神马的都没有问题,只是这里显示不出来
- millenniumdark
- 论坛版主
- 帖子: 4159
- 注册时间: 2005-07-02 14:41
- 系统: Ubuntu 14.04 (Kylin)
- 联系:
-
- 帖子: 6
- 注册时间: 2010-11-29 19:24
Re: 请教一个python问题
代码: 全选
# Class Time with default constructors
class Time:
"""Class Time with default constructors"""
def __init__(self, hour=0, minute=0, second=0):
"""Time constructors initializes each data member to zero"""
self.setTime(hour, minute, second)
def setTime(self, hour, minute, second):
"""Set values of hour,minute and second"""
self.setHour(hour)
self.setMinute(minute)
self.setSecond(second)
def setHour(self, hour):
"""Set hour value"""
if 0<= hour <24:
self.__hour=hour
else:
raise ValueError, "Invalid hour value"
def setMinute(self, minute):
"""Set minute value"""
if 0<= minute <60:
self.__minute=minute
else:
raise ValueError, "Invalid minute value"
def setSecond(self, second):
"""Set second value"""
if 0<= second < 60:
self.__second=second
else:
raise ValueError, "Invalid second value"
def getHour(self):
"""Get hour value"""
return self.__hour
def getMinute(self):
"""Get minute value"""
return self.__minute
def getSecond(self):
"""Get second value"""
return self.__second
def printMilitary(self):
"""Print Time object in military format"""
print "%.2d:%.2d:%.2d" % \
(self.__hour, self.__minute, self.__second),
def printStandard(self):
"""Print Time object in standard format"""
standardTime=""
if self.__hour ==0 or self.__hour ==12:
standardTime+="12:"
else:
standardTime+="%d:" % (self.__hour %12)
standardTime+="%.2d:%.2d" % (self.__minute,self.__second)
if self.__hour <12:
standardTime+=" AM"
else:
standardTime+=" PM"
print standardTime,
这是全部
上次由 vicky87126 在 2010-12-02 18:37,总共编辑 1 次。
-
- 帖子: 6
- 注册时间: 2010-11-29 19:24
Re: 请教一个python问题
刚才重启了又可以了,只是不知道这个是为什么阿?
-
- 帖子: 6
- 注册时间: 2010-11-29 19:24
Re: 请教一个python问题
另外,写的这个脚本怎么不能运行?
这个脚本和Time3是放在同一个文件夹中的。
我是菜鸟~~~
代码: 全选
#Demonstrating defalut constructor method for class Time.
from Time3 import Time
def printTimeValues( timeToPrint ):
timeToPrint.printMilitary()
print
timeToPrint.printStandard()
print
time1=Time()
time2=Time(2)
time3=Time(21,34)
time4=Time(12,25,42)
print "Constrcted with:"
print "\nall arguments defaulted:"
printTimeValues(time1)
print"\nhour specified; minute and second defaulted"
printTimeValues(time2)
print"\nhour and minute specified; second defaulted"
printTimeValue(time3)
print"\nall specified"
printTimeValue(time4)
from: can't read /var/mail/Time3
./testTime3.py: line 5: 在未预料的“(”附近出现语法错误
./testTime3.py: line 5: `def printTimeValues( timeToPrint ):'
这个脚本和Time3是放在同一个文件夹中的。
我是菜鸟~~~
-
- 帖子: 6
- 注册时间: 2010-11-29 19:24
Re: 请教一个python问题
已经解决了,我真的太菜了
