pythonクラシック練習100例(31~50)
9611 ワード
目次
31.アルファベットを入力して曜日を判断する
32.リストの反転
33.分割リスト
34.連絡関数呼び出し
35.テキスト色の設定
36.100以内の素数を求める
37.ソート
38.マトリクスの主対角線要素の和を求める
39.配列に要素を挿入する
40.配列を逆順に出力する
41.静的変数を模倣した使い方
42.autoを使用して変数を定義する方法を学習する
43.静的変数の模倣(static)
44.Python 2つのマトリックス加算
45.統計1から100の和
46.数字の平方を求める
47.2つの変数値の交換
48.数値比較
49.lambdaを使用して匿名関数を作成する
50.乱数を出力する
31.アルファベットを入力して曜日を判断する
テーマ:曜日の最初のアルファベットを入力して曜日を判断してください.最初のアルファベットが同じであれば、2番目のアルファベットを判断し続けます.
32.リストの反転
タイトル:リストの値を逆の順序で出力します.
33.分割リスト
タイトル:リストをカンマで区切ります.
join()メソッド
34.連絡関数呼び出し
テーマ:関数呼び出しの練習.
35.テキスト色の設定
タイトル:テキスト色の設定.
36.100以内の素数を求める
100以内の素数を求めます.
37.ソート
タイトル:10個の数を並べ替えます.
38.マトリクスの主対角線要素の和を求める
テーマ:ひとつの3*3行列の主な対角線の要素の和を求めます.
39.配列に要素を挿入する
テーマ:すでに順番に並んでいる配列があります.数を入力し、元の法則で配列に挿入する必要があります.
40.配列を逆順に出力する
テーマ:配列を逆シーケンスで出力します.
41.静的変数を模倣した使い方
テーマ:静的変数の使い方を真似します.
42.autoを使用して変数を定義する方法を学習する
テーマ:autoを使って変数を定義する使い方を学びます.
43.静的変数の模倣(static)
テーマ:静的変数(static)の別の例を模倣する.
44.Python 2つのマトリックス加算
タイトル:Python 2つのマトリクスに3行3列のマトリクスを2つ加算し、対応する位置のデータ加算を実現し、新しいマトリクスを返します.
45.統計1から100の和
テーマ:統計1から100までの和.
46.数字の平方を求める
テーマ:数字の平方を入力することを求めて、もし平方の演算の後で50より小さいならば退出します.
47.2つの変数値の交換
タイトル:2つの変数値が入れ替わります.
48.数値比較
数字の比較.
49.lambdaを使用して匿名関数を作成する
テーマ:lambdaを使用して匿名関数を作成します.
50.乱数を出力する
テーマ:乱数を出力します.
31.アルファベットを入力して曜日を判断する
32.リストの反転
33.分割リスト
34.連絡関数呼び出し
35.テキスト色の設定
36.100以内の素数を求める
37.ソート
38.マトリクスの主対角線要素の和を求める
39.配列に要素を挿入する
40.配列を逆順に出力する
41.静的変数を模倣した使い方
42.autoを使用して変数を定義する方法を学習する
43.静的変数の模倣(static)
44.Python 2つのマトリックス加算
45.統計1から100の和
46.数字の平方を求める
47.2つの変数値の交換
48.数値比較
49.lambdaを使用して匿名関数を作成する
50.乱数を出力する
31.アルファベットを入力して曜日を判断する
テーマ:曜日の最初のアルファベットを入力して曜日を判断してください.最初のアルファベットが同じであれば、2番目のアルファベットを判断し続けます.
# coding:UTF-8
# Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
c1 = raw_input("plz input a char, we will tell you the weekday: ")
if c1 == 'M' or c1 == 'm':
print 'Monday'
elif c1 == 'T' or c1 == 't':
c2 = raw_input("you should tell me the second char: ")
if c2 == 'U' or c2 == 'u':
print 'Tuesday'
elif c2 == 'H' or c2 == 'h':
print 'Thursday'
else :
print 'wrong chars'
elif c1 == 'W' or c1 == 'w':
print 'Wednesday'
elif c1 == 'F' or c1 == 'f':
print 'Friday'
elif c1 == 's' or c1 == 'S':
c2 = raw_input("you should tell me the second char: ")
if c2 == 'U' or c2 == 'u':
print 'Sunday'
elif c2 == 'a' or c2 == 'A':
print 'Saturday'
else :
print 'wrong chars'
else :
print 'wrong chars'
32.リストの反転
タイトル:リストの値を逆の順序で出力します.
# coding: UTF-8
l = [1,2,3,4,5,6,7,8,9]
for i in l:
print i,
print
for i in range(len(l)-1, -1, -1):
print l[i],
print
for i in l[::-1]:
print i,
print
# list[::-1]
print l[::-1]
print l[2::-1]
print l[:3][::-1]
33.分割リスト
タイトル:リストをカンマで区切ります.
join()メソッド
# coding: UTF-8
import sys
l = [1,2,3,4,5]
for i in l[:-1]:
sys.stdout.write(str(i))
sys.stdout.write(',')
sys.stdout.write(str(l[-1]))
print
# join() 。
s1 = ','.join(str(n) for n in l)
l2 = ['1','2','3']
s2 = ','.join(l2)
print s1
print s2
34.連絡関数呼び出し
テーマ:関数呼び出しの練習.
# coding: UTF-8
def hello_world():
print 'hello world'
def three_hellos():
for i in range(3):
hello_world()
if __name__ == '__main__':
three_hellos()
35.テキスト色の設定
タイトル:テキスト色の設定.
# coding: UTF-8
class bcolors:
HEADER = '\033[95m'
OKBLUE = '\033[94m'
OKGREEN = '\033[92m'
WARNING = '\033[93m'
FAIL = '\033[91m'
ENDC = '\033[0m'
BOLD = '\033[1m'
UNDERLINE = '\033[4m'
print bcolors.WARNING + " " + bcolors.ENDC
print('\033[92m hello \033[0m')
print '\033[91m world \033[0m'
36.100以内の素数を求める
100以内の素数を求めます.
# coding: UTF-8
from math import sqrt
def is_sushu(n):
for j in range(2, int(sqrt(n))+1):
if n % j == 0:
return False
return True
if __name__ == '__main__':
for i in range(2, 101):
if is_sushu(i):
print i
37.ソート
タイトル:10個の数を並べ替えます.
# coding: UTF-8
if __name__ == '__main__':
print "plz input ten number and sort them: "
l = []
for i in range(10):
l.append(input('the %d num: '%(i+1)))
l.sort()
print l
38.マトリクスの主対角線要素の和を求める
テーマ:ひとつの3*3行列の主な対角線の要素の和を求めます.
# coding: UTF-8
l1 = [0]*3
l2 = [0]*3
l3 = [0]*3
l = [l1, l2, l3]
sum = 0
for i in range(3):
for j in range(3):
l[i][j] = input('please input a number: ')
if i == j:
sum += l[i][j]
for i in range(3):
print l[i]
print l
print sum
39.配列に要素を挿入する
テーマ:すでに順番に並んでいる配列があります.数を入力し、元の法則で配列に挿入する必要があります.
# coding: UTF-8
l = [1, 5, 9, 10, 15]
print 'before insert: ', l
num = input("pls input a num: ")
# 0 , 1 , 2
flag = -1
for i in range(4):
if l[i]>l[i+1]:
flag = 0
break
elif l[i] num:
l.append(num)
elif flag == 0:
for i in range(5):
if num >= l[i]:
l.insert(i, num)
break
if i == 4 and l[4] <> num:
l.append(num)
else:
print 'error'
print 'after insert: ',l
40.配列を逆順に出力する
テーマ:配列を逆シーケンスで出力します.
# coding: UTF-8
l = []
print 'plz input 5 number:'
for i in range(5):
l.append(float(raw_input("plz input a num")))
print l
l1 = l[::-1]
l2 = l.reverse() #none, reverse() ,
l3 = list(reversed(l)) # reversed() , list, list
print l, l1, l2, l3
41.静的変数を模倣した使い方
テーマ:静的変数の使い方を真似します.
# coding: UTF-8
def func():
var = 0
print 'var = %d' % var
var += 1
if __name__ == '__main__':
for i in range(3):
func()
#
class Static:
StaticVar = 5
def func(self):
self.StaticVar += 1
print self.StaticVar
print Static.StaticVar
a = Static()
for i in range(3):
a.func()
print Static.StaticVar
42.autoを使用して変数を定義する方法を学習する
テーマ:autoを使って変数を定義する使い方を学びます.
# coding: UTF-8
'''
C auto,register,extern,static 。
: 。
auto register 。 , , 。
。 C , , auto 。
。 , 。 : , 。
, : , , 。
。
x , func1() , func2() 。func1() func2() x 。 x 。
auto, 。 auto ,auto ,
'''
# python auto .
num = 2
def func():
num = 1
print 'internal num = %d' % num
num += 1
for i in range(3):
print "num = %d" %num
num += 1
func()
43.静的変数の模倣(static)
テーマ:静的変数(static)の別の例を模倣する.
# coding: UTF-8
class Num:
nNum = 1
def inc(self):
self.nNum += 1
print 'nNum = %d' % self.nNum
if __name__ == '__main__':
nNum = 2
inst = Num()
for i in range(3):
nNum += 1
print 'The num = %d' %nNum
inst.inc()
print 'inst.num = %d' %inst.nNum
44.Python 2つのマトリックス加算
タイトル:Python 2つのマトリクスに3行3列のマトリクスを2つ加算し、対応する位置のデータ加算を実現し、新しいマトリクスを返します.
# coding: UTF-8
a = [[],[],[]]
b = [[],[],[]]
c = [[],[],[]]
print 'Please input the first: '
for i in range(3):
for j in range(3):
a[i].append( input('plz input a:%d,%d: ' % (i,j)))
print 'Please input the second: '
for i in range(3):
for j in range(3):
b[i].append( input('plz input b[%d][%d]: ' % (i,j)))
for i in range(3):
for j in range(3):
c[i].append(a[i][j] + b[i][j])
print a, '+', b , " = "
print c
45.統計1から100の和
テーマ:統計1から100までの和.
# coding: UTF-8
sum = 0
for i in range(1, 101):
sum += i
print sum
46.数字の平方を求める
テーマ:数字の平方を入力することを求めて、もし平方の演算の後で50より小さいならば退出します.
# coding: UTF-8
a = input("plz input a : ")
b = a * a
print '%d power 2 is %d' %(a,b)
while b >= 50:
a = input("plz input a : ")
b = a * a
print '%d power 2 is %d' %(a,b)
print '########################'
# python do ... while, while+break do...while
while True:
a = input("plz input a : ")
b = a * a
print '%d power 2 is %d' %(a,b)
if b < 50 :
break
47.2つの変数値の交換
タイトル:2つの変数値が入れ替わります.
# coding: UTF-8
x = input("plz input x: ")
y = int(raw_input('plz input y: '))
print 'you input x = %d, y = %d' %(x, y)
x,y=y,x
print ('after swap1: x = %d, y = %d' %(x, y))
t=x
x=y
y=t
print ('after swap2: x = %d, y = %d' %(x, y))
x=x+y
y=x-y
x=x-y
print ('after swap3: x = %d, y = %d' %(x, y))
x=x^y
y=x^y
x=x^y
print ('after swap4: x = %d, y = %d' %(x, y))
print '#########func#########'
# python tuple ,
def swap(x,y):
return (y,x)
def swap1(x,y):
x,y=y,x
return (x,y)
def swap2(x,y):
t=x
x=y
y=t
# return (x,y)
def swap3(x,y):
x=x+y
y=x-y
x=x-y
# return (x,y)
def swap4(x,y):
x=x^y
y=x^y
x=x^y
return (x,y)
x,y = swap(x,y)
print ('after swap: x = %d, y = %d' %(x, y))
48.数値比較
数字の比較.
# coding: UTF-8
x = input('x: ')
y = input('y: ')
if x < y:
print '%d < %d' %(x, y)
elif x == y:
print '%d = %d' %(x, y)
else:
print '%d > %d' %(x, y)
49.lambdaを使用して匿名関数を作成する
テーマ:lambdaを使用して匿名関数を作成します.
# coding: UTF-8
MAX = lambda x,y: x if x>y else y
MIN = lambda x,y: (x
50.乱数を出力する
テーマ:乱数を出力します.
# coding: UTF-8
# random
import random
print random.uniform(1, 100)