pythonノートと練習20181122

2119 ワード

メモ:range()関数について以下の点に注意してください.この関数は数値要素からなるリストを作成することができます.この関数はforループ関数で最もよく使われるパラメータは整数でなければなりません.デフォルトは0からstepのデフォルトは1です.書かない場合は、この値に従います.stepが正の場合、listを返す最後の値にはstop値が含まれず、負の場合、stop stepより大きい値は0ではなく、0に等しい場合はエラーが表示されます.
a_dict={“name”:“qiwsir”,“lang”:“python”,“email”:“[email protected]”,“website”:“www.itdiffer.com”} for k,v in a_dict.iteritems():
print k,a_dict[k]
 print k ,v

練習1
  • には1、2、3、4つの数字があり、互いに異なり、重複していない3桁の数を構成することができますか?どれくらいですか.1.プログラム分析:百位、十位、個位に記入できる数字はすべて1、2、3、4である.すべての配列を構成した後、条件を満たさない配列を取り除きます.

  • #!/usr/bin/python for x in range(1,5): for y in range(1,5): for z in range(1,5): if (x!=y) and (y!=z) and (z!=x): print("%d%d%d"% (x, y, z))
  • はすべての「水仙の花の数」を印刷し、「水仙の花の数」とは3桁の数を指し、その各数字の立方とそれ自体に等しい.例えば、153は、153=1の三次方+5の三次方+3の三次方であるため、「水仙花数」である.プログラム分析:forサイクルを利用して100-999個の数を制御し、各数は個位、十位、百位に分解する.#!/usr/bin/python import math for i in range(100,1000): x = math.floor(i/100) y = math.floor((i - x*100)/10) z = i - math.floor(i/10) *10 if i == x3 + y3 + z**3: print(i)
  • 両卓球チームが試合を行い、それぞれ3人ずつ出た.甲チームはa,b,cの3人,乙チームはx,y,zの3人である.抽選で試合のリストが決まる.選手に試合のリストを聞く人がいる.aは彼がx比と合わないと言って、cは彼がxと合わないと言って、z比、プログラムを作って3チームの選手のリストを見つけてください.for i in ‘xyz’: for j in ‘xyz’: for k in ‘xyz’: if i!=k and i!=j and j!=k: if i !=‘x’ and k!=‘z’ and k!=‘x’:print‘a VS%sb VS%sc VS%s’%(i,j,k)練習2
  • は、正の整数を質量係数に分解する.例えば、90を入力し、90=233*5を印刷します.プログラム分析:nを分解する質量因数は、まず最小の質量数iを見つけてから、以下の手順で完成する:(1)分解後商が1であれば、質量因数を分解する過程が終わったことを説明し、印刷すればよい.

  • (2)商が1でない場合はiの値を印刷し、nをiで割った商を用いて新しい正の整数として分解し、第1のステップを繰り返す.
    (3)nがiで割り切れない場合,iの値に1を加え,第1のステップを繰り返す.
    while 1:n=int(input('%d='%n,end=')while n>1:for i in range(2,n+1):if n%i 0:n=int(n/i)if n 1:print('%d'%i,end=')else:print('%d*'%i,end=')break print()
  • サルが桃を食べる問題:サルは初日にいくつかの桃を摘んで、すぐに半分食べて、まだ中毒していないで、また1つ多く食べて、翌朝また残りの桃を半分食べて、また1つ多く食べました.それから毎朝、前日の残りの半分を食べました.10日目の朝に食べたくなったとき、桃が1つしか残っていませんでした.初日にどれだけ摘んだかを求めます.プログラム分析:逆思考の方法を採用し、後から推測する.

  • p=1 print(‘10日目までに桃が1個残っている’)for i in range(9,0,-1):p=(p+1)*2 print(‘1%s目までに桃が%s個ある’%(i,p))print(‘1日目に桃を%s個取った’%p)