サーティーンPythonの演習

完璧なキューブ

  プログラムを書き、任意の正の整数N(N≤100)のために、4つのすべてのタプルを探している(A、B、C、D)、^ 3 = B ^ 3 + C ^ 3 + D ^ 3となるよう式中、a、b、c、dは、Nに等しい未満の1よりも大きいです

  出力に正の整数N(N≤100)、各行の出力を入力し、完璧なキューブ。出力フォーマット:キューブ= A、トリプル=( B、C、D) を特徴と大腿四頭筋に、B、C、D、それぞれ、実際の位置が計算された値。
  大出力の小さな値を、従ってください。ときに、同じ値の2つの完全立方方程式、出力Bの優先順位値が小さいほど、cは同じ出力優先小さな値のままであり、その後、より小さな値に出力をdれます。

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
n = int(input())
cube = [0]
for i in range(2, n+1):
  cube.append(i**3)
for a in range(3,n):
  for b in range(0,a-2):
    if cube[a] < (cube[b] + cube[b+1] + cube[b+2]):
      break
  for c in range(b+1,a-1):
    if cube[a] < (cube[b] + cube[c] + cube[c+1]):
      break
  for d in range(c+1,a):
    if cube[a] == (cube[b] + cube[c] + cube[d]):
      print("Cube = %d,Tripe = (%d,%d,%d)" %(a+1,b+1,c+1,d+1))

第二に、人民元とドル変換

  為替レート:1米ドル= 6.78元。

  入力フォーマットがある:USD10、出力フォーマットは次のとおりRMB67.8(中間スペースがないことに注意します)。

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
str1=input()
import re
num=int(''.join(re.findall('\d+',str1)))
if 'RMB' in str1:
    print('USD','%.2f' %(num/6.78),sep='')
elif 'USD' in str1:
    print('RMB','%.2f' %(num*6.78),sep='')

第三に、シーザー暗号

  26を失うすることが122(ZのASCII値)を超えた場合、3を添加しているすべてのそれらの文字の文字列を入力します。

  たとえば、「XYZ」は「ABC」になります。

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
original=input()
cipher=''
for i in original:
    a=ord(i)
    if 97<=a<=119:
        cipher+=chr(a+3)
    elif 120<=a<=122:
        cipher+=chr(a+3-26)
    else:
        cipher+=i
print(cipher) 

第四に、毎日Cのパワー

  1年365日、1日目に値をベースにする機能は、1.0と呼ばれます。前日N‰で能力値を向上させるために、学ぶとき、何も学習がない場合、他の理由に前日の相対的なので、忘れ能力値N‰を減少させました。どのくらいの容量年、それの値の差の下、日々努力やふけますか?ここで、Nは、1から10の範囲で、N小数であってもよいです。

  小数点以下1桁に能力値を保持し、ユーザ入力N、計算労力と容量と1日当たり365日の能力値との比をさせる、カンマ区切りを使用して出力間の出力容量整数間の比を求めます。

  

  コードは以下の通りであります:

1 percent=eval(input())
2 hard=sunning=1
3 for i in range(2,366):
4   hard*=(1+percent/1000)
5   sunning*=(1-percent/1000)
6 print('%.2f,%.2f,%d' %(hard,sunning,hard/sunning))

ファイブ幸せデジタル

  番号があるかどうかを判断するためのアルゴリズムを書く「幸せ。」次のように幸せな図形が決定される無限数のそれぞれ正方形および置換基の数と、正の整数から出発して、処理を繰り返し、最終的なデジタルコンバージェンス又は1に等しく、1に等しいがされるまで、または意志サイクルそして最終的には1に等しい収束に行くことはありません。図1は、最終的な収束の数はハッピー数で等しくすることができます。

  例:図19は、次のように計算し、満足しています:

  • 12 + 92 = 82
  • 82 + 22 = 68
  • 62 + 82 = 100
  • 12 + 02 + 02 = 1

  ときに幸せな時にデジタル入力、出力はTrue、そうでなければFalse出力。

  コードは以下の通りであります:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
 1 num=eval(input())
 2 list1=[]
 3 while (num not in list1) and (num!=1):
 4   list1.append(num)
 5   a=num%10
 6   b=num//10%10
 7   c=num//100
 8   num=a**2+b**2+c**2 9 if num==1:
10   print('True')
11 else:
12   print('False')

第六に、階段をジャンプ

  カエルは、クラス1レベルにジャンプすることができ、あなたはまた、レベル2に飛び乗っすることができます。カエルはどのように多くのジャンプのn級レベルの合計に飛び込んます。

  ステップ数を入力し、出力は、種の数がありますジャンプします。

  注:操作がタイムアウトした場合は、時間の複雑さを軽減するためにどのような方法があると思いますしてください。

  次のようにコードがある:(再帰は、制限時間を超えてもよいです)

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
 1 def wawa(step):
 2   if step==1:
 3     way=1
 4   elif step==2:
 5     way=2
 6   else:
 7     way=wawa(step-1)+wawa(step-2)
 8   return way
 9 
10 step=eval(input())
11 print(wawa(step))

   (循環は、アイデアはシンプルかつ高速です)

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
 1 def wawa(step):
 2   if step==1 or step==2:
 3     return step
 4   a=1
 5   b=2
 6   c=0
 7   for i in range(3,step+1):
 8     c=a+b
 9     a=b
10     b=c
11   return c
12 
13 step=eval(input())
14 print(wawa(step))

七回のパーセンタイル得点は5点(ループ)に変換しました

  生徒の成績変換プログラムの準備、ユーザ入力が出力100以上90及び以下のグレードが「A」であり、学生の成績をパーセンタイルは、出力90より以上80未満のグレードが「B」、以上のグレードであります70及び80は、70が「D」である60出力、60未満の出力性能が「E」の出力「C」、グレード未満、以下です。出力は、合法的な入力データ「データエラー!」ではありません、ユーザーが繰り返しグレード変換、出力「終わり」負の数を入力し、プログラムが終了し入力することができます。

  コードは以下の通りであります:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
 1 flag=1
 2 while flag:
 3   grade=input()
 4   try:
 5       grade=eval(grade)
 6       if 100>=grade>=90:
 7         print('A')
 8       elif 90>grade>=80:
 9         print('B')
10       elif 80>grade>=70:
11         print('C')
12       elif 70>grade>=60:
13         print('D')
14       elif 60>grade>=0:
15         print('E')
16       elif grade<0:
17         print('end')
18         flag=0
19       else:
20         print('data error!')
21   except:
22     print('data error!')

八件の素数判決

  素数(素数)、また、素数を知られています。1自体を除く1より大きい自然数は、他の自然数割り切れる素数と呼ばれることができず、それ以外の場合として知られる複合番号

  それは素数だかどうかをチェックし、機能を達成するために必要な、この問題は、その後、TRUE、そうでなければFALSEを返します。

  コードは以下の通りであります:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
 1 def isPrime(num):
 2   import math
 3   for i in range(2,int(math.sqrt(num))+1):
 4     if num%i==0:
 5       return 0
 6   return 1
 7 
 8 num=int(input())
 9 if isPrime(num):
10     print('yes')
11 else:
12     print('no')

9月、月の省略形

  略語は、ユーザーが2月の数値月、出力を入力し、プログラムを書きます。

  コードは以下の通りであります:

1 months={1: 'Jan.',2:'Feb.',3:'Mar.',4:'Apr.',5:'May.',6:'Jun.',7:'Jul.',8:'Aug.',9:'Sep.',10:'Oct.',11:'Nov.',12:'Dec.'}
2 str1=int(input())
3 print(months[str1])

説明X.の区分関数

  IMG

  入力X、上記セグメントを解決するための機能。入力は、xの出力範囲を超えた場合に「ERROR」。

  コードは以下の通りであります:

1 x=eval(input())
2 if -1<x<=0:
3   print('f(x)=-10')
4 elif 0<x<=1:
5   print('f(x)=5')
6 elif 1<x<=2:
7   print('f(x)=9.6')
8 else:
9   print('ERROR')

XI、何日、今年?

  うるう年366日、その他の年で365日。一般的には(100年で割り切れない)4で割り切れる閏年です。(このような2004年と1999年はうるう年ではありません、うるう年です)。

  世紀に(100年で割り切れる)400で割り切れるは閏年です。(このような2000として閏年で、1900年は閏年ではなかったです)。

  ユーザーは、年に何日の毎年恒例の出力を表し、正の整数を入力してください?

  コードは以下の通りであります:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
 1 year=int(input())
 2 if year%100==0:#世纪年
 3   if year%400==0:
 4     print('366')
 5   else:
 6     print('365')
 7 else:
 8   if year%4==0:
 9     print('366')
10   else:
11     print('365')

XII検証コードより多くの経験

  ユーザーは、多くの場合、ランダム、検証コード、大文字と小文字と数字が含まれている確認コードを入力する必要があるウェブサイトをご覧ください。大文字と小文字を区別しないユーザーの認証コードは、各文字の限りを検証正しい順序で表示されます。
  「Qs2X」を表示確認コードを仮定して、完成された検証用コードと一致するプログラムを書きます。
  ユーザーが正しいコードを入力すると、出力の「認証コードが正しいか、」出力入力エラー「コード・エラー、再試行してください。」

  コードは以下の通りであります:

1 str1='Qs2X'
2 str2=input()
3 if str1.lower()==str2.lower():
4   print('验证码正确')
5 else:
6   print('验证码错误,请重新输入')

列和のXIII奇数

  1 + 3 + 5 + ... +(2N-1)と最初のn個のアイテムを探しています。

  コードは次のようである:(これは、最大送信したくないことは本当に簡単です,,,,,)

1 i=int(input())
2 s=0
3 for i in range(1,i*2,2):
4   s=s+i
5 print(s)

おすすめ

転載: blog.51cto.com/14246112/2426455