2015-10-07 34 views
1

我的問題是: 輸出如下表示:如何解決這個在Python(for和while循環)?

歡迎學生#1,您的機票是1001#

歡迎學生#2,您的機票是1002#

...。

歡迎學生#10,您的機票是1010#

,這是我到目前爲止有:

#--RAFFLE TICKETS--# 
for i in range(1001,1011): #since 1001 is inclusive and 1011 is exclusive 
    for j in range(1,11): 
     print("Welcome student #",j,"your ticket is #"+str(i)) 
    break 

,但我不能買到票的數量要上去10。我需要這兩個(for和while循環)。預先感謝您提供的任何幫助!

回答

2

使用for循環:

for i in range(1,11): 
    print ("Welcome student #", i ,"your ticket is #" , 1000+i) 

使用while循環:

i=1 
while i<=10: 
    print ("Welcome student #", i ,"your ticket is #" , 1000+i) 
    i+=1 
+0

謝謝!非常感激 – pimpmycamel

0

試試這個!

for i in range(1001,1011): 
    print("Welcome student #"+str(i-1000) + " your ticket is #"+str(i)) 

,或作爲while循環:

value = 1001 
while value<1011: 
    print("Welcome student #"+str(value-1000)+ "your ticket is #"+str(value)) 
    value+=1 
+0

使用while循環怎麼樣? – pimpmycamel

+0

我相信一個while循環將是不必要的,但我會添加它。 – intboolstring

+1

好的,我添加了它。 – intboolstring

2

爲什麼你需要嵌套循環?

>>> for i in range(1, 11): 
...  print('Welcome student # {} your ticket is #10{:02d}'.format(i, i)) 
...  
Welcome student # 1 your ticket is #1001 
Welcome student # 2 your ticket is #1002 
Welcome student # 3 your ticket is #1003 
Welcome student # 4 your ticket is #1004 
Welcome student # 5 your ticket is #1005 
Welcome student # 6 your ticket is #1006 
Welcome student # 7 your ticket is #1007 
Welcome student # 8 your ticket is #1008 
Welcome student # 9 your ticket is #1009 
Welcome student # 10 your ticket is #1010 
+0

完美!謝謝。 – pimpmycamel

+0

在這樣的'format'調用中調用'format'似乎有點愚蠢。爲什麼不在第二組括號中放入':02d'就一次做完所有事情? – Blckknght

+0

@Blckknght不同人的不同筆畫;但其嵌入式格式可能更爲明顯。 –

0

您還可以使用字典:

>>> a = range(1001,1011) 
>>> b = {x:a[x] for x in range(len(a))} 
>>> for key, val in b.items(): 
     print ("Welcome student #"+ str(key+1) + " your ticket is #"+str(val)) 

歡迎學生#1機票是#1001
歡迎學生#2你的票是#1002
歡迎學生#3你的票是#1003
歡迎學生#4你的票是#1004
歡迎學生#5你的票是#1005
歡迎學生#6你門票是#1006
歡迎學生#7你的票#1007
歡迎學生#8你的票是#1008
歡迎學生#9你的票#1009
歡迎學生#10你的票是#1010