愚かな法学Pythonの練習問題33:while循環

2410 ワード

  • は、このwhileサイクルを関数に変更し、試験条件(i < 6)の6を変数に変換する.
  • def whifunc(a):
    	i = 0
    	numbers = []
    
    	while i < a:
    		print "At the top i is %d" % i
    		numbers.append(i)
    	
    		i = i + 1
    		print "Numbers now: ",numbers
    		print "At the bottom i is %d" % i
    
    	print "The numbers: "
    
    	for num in numbers:
    		print num
    		
    whifunc(int(raw_input('a= ')))
  • は、8行目の加算値+1を定義するために使用される関数に別のパラメータを追加します.これにより、任意の値を追加することができます.
  • def whifunc(a, s):
    	i = 0
    	numbers = []
    
    	while i < a:
    		print "At the top i is %d" % i
    		numbers.append(i)
    	
    		i = i + s
    		print "Numbers now: ",numbers
    		print "At the bottom i is %d" % i
    
    	print "The numbers: "
    
    	for num in numbers:
    		print num
    		
    whifunc(int(raw_input('a= ')), int(raw_input('s= ')))
  • for-looprangeを使用して、このスクリプトをもう一度書きます.中間の加算操作が必要ですか?それを取り除かないと、どんな結果になりますか?
    def whifunc(a, s):
    	i = 0
    	numbers = []
    
    	for i in range (0, a):
    		print "At the top i is %d" % i
    		numbers.append(i)
    	
    		i = i + s
    		print "Numbers now: ",numbers
    		print "At the bottom i is %d" % i
    
    	print "The numbers: "
    
    	for num in numbers:
    		print num
    		
    whifunc(int(raw_input('a= ')), int(raw_input('s= ')))
    このようにする時stepは更新しないことを発見して、結果はやはり+1と同じで、そこで資料を探して、for循環が3つのパラメータを追加することができることを発見して、開始値、終了値、step、このように+stepすることができて、しかもi=i+sのこの行は必要ありません.
    def whifunc(a, s):
    	i = 0
    	numbers = []
    
    	for i in range (0, a, s):
    		print "At the top i is %d" % i
    		numbers.append(i)
    	
    		# i = i + s
    		print "Numbers now: ",numbers
    		print "At the bottom i is %d" % i
    
    	print "The numbers: %s" % numbers
    """ , 。"""
    	# for num in numbers:
    		# print num
    私はまた関数の中にいない情況をテストして、直接元のコードを持って直して、第3のパラメータが1で、i=i+sの中のs値と同じで、第3のパラメータを加えない効果と同じ
    i = 0
    numbers = []
    
    for i in range (0, 6, 1):
        print "At the top i is %d" % i
        numbers.append(i)
    
        i = i + 1
        print "Numbers now: ", numbers
        print "At the bottom i is %d" % i
    
    print "The numbers: "
    
    for num in numbers:
        print num
    しかし第3のパラメータとs値が異なる時、第3のパラメータはprint“At the top i is%d”%iの1行の値を制御して、s値はprint“At the bottom i is%d”%iの1行の値を制御して、互いに独立しました.どうしてですか.