发布网友 发布时间:2022-04-23 15:28
共5个回答
懂视网 时间:2022-04-06 18:41
Python的字符串比较与Java类似,也需要一个比较函数,而不能用==符号。用cmp()方法来比较两个对象,相等返回 0 ,前大于后,返回 1,小于返回 -1。
例子:
a = "abc" b = "abc" c = "aba" d = "abd" print cmp(a,b) print cmp(a,c) print cmp(a,d)
返回
0 1 -1
热心网友 时间:2022-04-06 15:49
注意比较字符串和比较数字不一样,需要手动将字符串转换为整数。
字符串比较不看数字大小,而是看字符的ascii码顺序。raw_input得到的数据是字符串,字符串3其实是大于字符串21的。所以这里如想正确比较,就必须把字符串转为数字。
我修改了你的程序:
def printMax(a, b):
望采纳,请按下面评论的时间采纳,谢谢支持!
热心网友 时间:2022-04-06 17:07
x = raw_input("x");
y = raw_input("y");
得到的x和y是字符串string类型的,字符串比较是按字符比较的,'3'比'2'大
按照你的意图应该是把输入转换为int型变量才能比较,
可以改为
x = int(raw_input("x"))
y = int(raw_input("y"))
还有提醒你一下,python里面语句结束是没有分号的
热心网友 时间:2022-04-06 18:42
# another idea:
def maxium(*args):
return max(args)
def getInteger(prompt):
while 1:
try:
return int(raw_input(prompt))
except:
continue
print maxium(3,4)
print "max is:", maxium(getInteger("x:"), getInteger("y:"))
热心网友 时间:2022-04-06 20:33
raw_input()返回的是字符串