2014-03-26 78 views
0

我正在嘗試使用由用戶提供的隨機數量的點創建一個有界的矩形。這對我來說很困難,因爲所有的數字只能在一行中被接受,我不知道用戶會提供多少變量,而且由於我接受了分數,所以我必須有合適的數量(evens)。使用輸入()接受未知數量的變量()

下面是一個運行示例:

Enter the points: 
``>>>4 1 3 5 1 5 9 0 2 5 

我的主要問題是,我該如何解開點的隨機數?而且,我如何將偶數點配對在一起?

+1

至於你的第二個問題:'even,odd = points [1 :: 2],points [0 :: 2]',假設你計算元素'[0]'爲第一個(奇數)。 –

回答

4

在Python 2:

points = map(int, raw_input().split()) 

在Python 3:

points = list(map(int, input().split())) 

另一種方法 - 列表理解:

points = [int(p) for p in input().split()] 

要配對的點的X和Y一起你可以在上使用類似pairwise()的東西清單:詳情請參閱https://stackoverflow.com/a/5389547/220700

1

如果它們被理解爲一個字符串,你可以使用split()方法,它會返回一個list,然後使用map()到列表中的項目轉換爲整數:

points_input = raw_input("Enter the points:") 

points = map(int, points_input.split()) 
print points 

注意

  • 結果(points)將是整數的list
  • 如果您使用的是Python 3.x,則必須使用方法input()而不是raw_input()