Python - 需要建议

时间:2011-10-21 10:49:34

标签: python function while-loop max

下面我有一个脚本,我在尝试完成我的作业时已经完成了。

脚本要做的是询问用户2个输入,然后返回更多的输入。 (这我还没想到)

这项任务的重点是看到如果我不输入2个数字,输入两个单词“Hej”和“Hå”,会发生什么。

我需要一些建议是如何启用此脚本以接受2个用户输入并返回其中两个更大的输入。

def maximum(x, y):
    i = 0
    maxnra = 0
    maxnrb = 0

    while i < len(x) :
        if x[i] > maxnra:
            maxnra = x[i]
            i = i + 1
        else:
            i = i + 1
    print "I första ordet är maximum: ", maxnra

    i = 0
    while i < len(y) :
        if y[i] > maxnrb:
            maxnrb = y[i]
            i = i + 1
        else:
            i = i + 1
    print "I andra ordet är maximum: ", maxnrb

  maximum("hej", "hå")

编辑:

我尝试用另一种方式解决这个问题,这是解决这个问题的方法吗?

print "First"
x = input()

print "Second"
y = input()


def printMax(x, y):
     if x > y:
        print(x, 'is maximum')
    elif a == b:
        print(x, 'is equal to', y)
    else:
        print(y, 'is maximum')

现在我错过了一些东西,因为当我输入2个值时它没有返回任何东西。

3 个答案:

答案 0 :(得分:1)

阅读命令raw_input上的文档,了解如何从用户那里获得输入。

答案 1 :(得分:1)

如果您只是想从终端窗口获取用户输入的简单方法,请查看raw_input函数。

答案 2 :(得分:0)

您的第一个代码只需要两个列表并打印每个列表的最大值。所以,这不是你想要的。

在第二个代码中,虽然方法是正确的,但你犯了一些小错误。

print "First"
x = input() # use raw_input() for python 2.7

print "Second"
y = input()


def printMax(x, y):
     if x > y:
        print(x, 'is maximum')
    elif x == y: 
        # not a==b
        print(x, 'is equal to', y)
    else:
        print(y, 'is maximum')

实际上,当您在此代码中输入输入时,虽然您输入数字,但它们仍被视为字符串。因此,如果输入字符串,则没有太大区别。

使用(ASCII值顺序)按字典顺序比较这些字符串。由于您的输入不是来自ASCII,因此会显示错误。

因此,您需要使用以下

替换input()raw_input(
    import sys # do this at the top of program.
    x = raw_input().decode(sys.stdin.encoding)
      # similarly do it for y

请阅读以下stackoverflow问题以了解有关此link

的更多信息