9.25 pythonプログラム制御構造の総括と作業

17767 ワード

本が読めなくて、ブログを書いて理解を助けて、対象の安利の下で、初めてmarkdownでブログを書いて、面白いです.
1.条件式
1.1関係演算子条件式では、代入演算子「=」は使用できません.
>>> if a=3
SyntaxError: invalid syntax

1.2論理演算子and----直列or------並列not----短絡指定区切り文字で文字を分割する
def Join(chlist,sep=':'):
    return sep.join(chlist)
a=Join(['5','6','5','3','1'])
print(a)

2.構造の選択
1.二枝選択構造による鶏とウサギの同籠問題の解決
jitu,tui=map(int,input('           ').split())
tu=(tui-jitu*2)/2
if int(tu)==tu:
    print(' :{0}, :{1}'.format((jitu-tu),int(tu)))
else:
    print('    ')

2.複数分枝選択構造ネスト時のインデント注意
3.循環構造
else句を持つループ構造の場合、ループが式が成立しないか、シーケンス遍歴が終了して自然に終了した場合、else文が実行されます.break文の実行が早期に終了した場合、else文は実行されません.
作業問題1.50個のランダム整数のリストを生成し、奇数をすべて後から削除します.
import random
x=[random.randint(0,100) for i in range(50)]

print(x)
i=len(x)-1
while i>=0:
    if x[i]%2==1:
        del x[i]
    i-=1
print(x)

2.20ランダム整数リストを生成し、偶数の下付き文字を降順に並べ、奇数の下付き文字の要素は変わらない(スライスを使用)
import random
x=[random.randint(0,100) for i in range(20)]
print(x)
y=x[::2]
y.sort(reverse=True)
z=x[1::2]
print(y)
print(z)


TrueのT大文字!3.2つの方法で100以内のすべての奇数と
x=[i for i in range(1,100) if i%2==1]
print(sum(x))

print(sum(range(1,100)[::2]))


4.1,2,3,4の4つの数字からなる素数をすべて出力し、数字ごとに1回しか使用しないことを保証する
a=[]
b=[]
for i in range(1,5):
    for j in range(1,5):
        for n in range(1,5):
            for k in [1,3]:
                if k != n and k != j and k!= i and n!= j and n!=i and j!=i:
                    a.append(i*1000+j*100+n*10+k)
print (a)
import math
print([a[x] for x in range(0,len(a)) if 0 not in [a[x]%d for d in range(2,int(math.sqrt(a[x]))+1)]])

実行結果[1243,1423,2143,2341,2413,2431,3241,3421,4123,4213,4231,4321][1423,2143,2143,2341,4231]検証結果のために簡単な検証素数のコードを確実に書くことができない:
import math
x=int(input('enter x:'))
if 0 not in [x%d for d in range(2,int(math.sqrt(x))+1)]:
    print('yes')
else:
    print('no')

5.プログラム実装セグメント関数の記述
x=int(input('enter x:'))
if x<0 or x>=20:
    print(0)
elif 0<=x<5:
    print(x)
elif 5<=x<10:
    print(3*x-5)
else:
    print(0.5*x-2)


入力xはstringタイプなので、前にintを追加しないとTypeErrorとエラーが発生します.