2016-04-18 14 views
0

我需要用戶輸入來指定要在範圍內打印的數量。
我有下面的代碼:如何使用用戶輸入指定範圍內需要的數量

i = 0; 
start_char = 65 
end_char = 65 
x = input("Enter numbers of plates:") 
while (i < int(x)): 
    if i%26 == 0 and i!= 0: 
      end_char = (65) 
      start_char += 1 

      print((chr(start_char))+(chr(end_char))) 
      end_char =end_char + 1 
      i = i + 1 
    for plate_code in (range(1000)): 
     print(str(plate_code) + ((chr(start_char))+(chr(end_char)))) 
+1

What't你是問題有? –

+0

也許你想用'string'模塊的'ascii_uppercase'和'itertools'模塊的'product()'和'islice()'來嘗試更高層次的方法。然後,外循環以islice(product(ascii_uppercase,ascii_uppercase),int(x)):'爲開始字符,end_char開始。 – BlackJack

回答

1

你增加i只是內部的if以來i = 0開始,你的代碼永遠不會進入if和stucks在一個無限循環。

if之外移動i = i + 1

while (i < int(x)): 
    if i%26 == 0 and i!= 0: 
      end_char = (65) 
      start_char += 1 

      print((chr(start_char))+(chr(end_char))) 
      end_char =end_char + 1 
    i = i + 1 #move incrementation outside of if 
    for plate_code in (range(1000)): 
     print(str(plate_code) + ((chr(start_char))+(chr(end_char)))) 
+0

我很確定這是不夠的,增加'end_char'也應該在''if''之外。而且它仍然在用'while'重新創建'for'循環。 – BlackJack

0

只是不要試圖重塑for循環:

def main(): 
    start_char = end_char = 65 
    plate_count = int(input('Enter numbers of plates:')) 
    for i in range(plate_count): 
     if i and i % 26 == 0: 
      end_char = 65 
      start_char += 1 
     print(chr(start_char) + chr(end_char)) 
     end_char += 1 
     for plate_code in range(1000): 
      print('{}{}{}'.format(plate_code, chr(start_char), chr(end_char))) 


if __name__ == '__main__': 
    main() 

Alternativly使用標準庫的力量:

from itertools import islice, product 
from string import ascii_uppercase 


def main(): 
    plate_count = int(input('Enter numbers of plates: ')) 
    for start_char, end_char in islice(
     product(ascii_uppercase, ascii_uppercase), plate_count 
    ): 
     print('{}{}'.format(start_char, end_char)) 
     for plate_code in range(1000): 
      print('{}{}{}'.format(plate_code, start_char, end_char)) 


if __name__ == '__main__': 
    main() 
相關問題