永发信息网

python 比较大小

答案:4  悬赏:80  手机版
解决时间 2021-03-23 13:54
  • 提问者网友:杀生予夺
  • 2021-03-22 18:37
python 比较大小
最佳答案
  • 五星知识达人网友:从此江山别
  • 2021-03-22 19:21
注意比较字符串和比较数字不一样,需要手动将字符串转换为整数。


  字符串比较不看数字大小,而是看字符的ascii码顺序。raw_input得到的数据是字符串,字符串3其实是大于字符串21的。所以这里如想正确比较,就必须把字符串转为数字。


我修改了你的程序:
def printMax(a, b):
    if a > b:
        print a, 'is maximum'
    else:
        print b, 'is maximum'

#printMax(3, 4) # directly give literal values

x = int(raw_input("x"))
y = int(raw_input("y"))

printMax(x, y) # give variables as arguments 
望采纳,请按下面评论的时间采纳,谢谢支持!

全部回答
  • 1楼网友:长青诗
  • 2021-03-22 21:39
raw_input()返回的是字符串
  • 2楼网友:平生事
  • 2021-03-22 20:26
# 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:"))
  • 3楼网友:一袍清酒付
  • 2021-03-22 19:37
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里面语句结束是没有分号的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯