2011-10-21 416 views
0

下面我有一個腳本,當我嘗試完成一個任務時,我已經完成了。Python - 需要幫助

什麼腳本是假設做的是詢問用戶2個輸入,然後返回的投入就越大。 (這個我還沒有想通了,完全還)

這個作業的點太多看我,而不是進入2號,輸入兩個詞「HEJ」和「哈」發生了什麼。

我需要一些建議什麼的是如何使這個腳本接受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的值。在命令raw_input

+0

?頂部看起來像Py2,但底部看起來像Py3。 –

+0

你的第二個版本正在工作。只是你寫了'a == b'而不是'x == y'。另外,你應該使用'raw_input()'。 –

回答

1

讀機制的文檔,看你怎麼可以從用戶獲取輸入。

+0

嘿,是的,我已經做了一些其他的腳本,所以我很確定我知道如何使用它,但我不確定如何在我已經擁有的腳本中使用它。如果是maxnra和b或需要用戶輸入的x和y。 – FictionFighter

1

如果你只是想要一個簡單的方法來獲得從終端窗口中用戶輸入,看看在raw_input功能。

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,它會顯示錯誤。

所以,你需要替換爲以下

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

請閱讀以下計算器問題input()raw_input()您使用Python 2或Python 3更多地瞭解這個link