Python入門100例
22288 ワード
Python入門100例
テーマは菜鳥教程python 100例から来て、pythonの基礎文法の強固さに適用して、私は中からテーマ(実はテーマが多すぎてできない)を選んで以下に書きました.
一、4つの数字があります:1、2、3、4、互いに異なっていて重複していない3桁の数を構成することができますか?それぞれいくらですか.
二、企業が支給するボーナスは利益によって引き上げられる.利益(I)が10万元以下の場合、ボーナスは10%引き上げることができる.利益が10万元を上回り、20万元を下回った場合、10万元を下回った部分は10%で、10万元を上回った部分は7.5%に引き上げることができる.20万から40万の間で、20万元を超える部分は、5%に引き上げることができます.40万から60万の間に40万元を超える部分は、3%に引き上げることができる.60万から100万の間の時、60万元の部分を上回って、1.5%に引き上げることができて、100万元の時を上回って、100万元の部分を上回って1%によって引き上げて、キーボードから当月の利益Iを入力して、ボーナスの総数を支払うべきですか?
三、1つの整数、それは100をプラスした後に1つの完全な平方数で、更に168をプラスしてまた1つの完全な平方数で、この数はいくらですか?
四、ある年ある月ある日を入力し、この日がこの年の何日目かを判断する.
五、三つの整数x,y,zを入力して、この三つの数を小さいから大きいまで出力してください.
六、出力フィボナッチ数列の上位20数.
七、あるリストのデータを別のリストにコピーし、出力する.
八、出力9*9乗算口诀表.
九、一時停止して一秒後に出力します.解析:timeモジュールのsleep()関数を使用します.
十、一秒の出力を一時停止し、現在の時間をフォーマットします.
十一、古典の问题:1対のウサギがあって、生まれてから3ヶ月目から毎月すべて1対のウサギを生んで、小さいウサギは3ヶ月目まで成长してから毎月また1対のウサギを生んで、もしウサギはすべて死なないならば、毎月のウサギの総数はいくらですか?(小学校の悪夢問題は、実はフィボナッチ数列)
十二、101-200の間に何個の素数があるかを判断し、すべての素数を出力する.
十六、指定されたフォーマットの日付を出力します.
十七、英字、スペース、数字、その他の文字の個数をそれぞれ統計する1行の文字を入力します.
三十二、リストの値を逆の順序で出力する.
三十五、テキストの色の設定.
四十九、lambdaを使用して匿名関数を作成します.
50、乱数を出力します.
六十二、文字列を検索します.
六十八、n個の整数があり、その前の各数を順番にm個の位置に後退させ、最後にm個の数が一番前のm個の数になる
70、1つの関数を書いて、1つの文字列の長さを求めて、main関数の中で文字列を入力して、そしてその長さを出力します.
七十三、チェーンテーブルを逆出力します.
七十四、ソートはsort()メソッドを使用することができ、接続は+番号またはextend()メソッドを使用することができる.
八十四、接続リストの文字列.
八十七、構造体変数伝達
九十二、時間関数はプログラムの計時に用いる
九十七、キーボードから文字を入力し、1つの#を入力するまでディスクファイルに1つずつ書きます.
百、リストを辞書に変換します.
テーマは菜鳥教程python 100例から来て、pythonの基礎文法の強固さに適用して、私は中からテーマ(実はテーマが多すぎてできない)を選んで以下に書きました.
一、4つの数字があります:1、2、3、4、互いに異なっていて重複していない3桁の数を構成することができますか?それぞれいくらですか.
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if( i != k ) and (i != j) and (j != k):
print (i*100+j*10+k)
二、企業が支給するボーナスは利益によって引き上げられる.利益(I)が10万元以下の場合、ボーナスは10%引き上げることができる.利益が10万元を上回り、20万元を下回った場合、10万元を下回った部分は10%で、10万元を上回った部分は7.5%に引き上げることができる.20万から40万の間で、20万元を超える部分は、5%に引き上げることができます.40万から60万の間に40万元を超える部分は、3%に引き上げることができる.60万から100万の間の時、60万元の部分を上回って、1.5%に引き上げることができて、100万元の時を上回って、100万元の部分を上回って1%によって引き上げて、キーボードから当月の利益Iを入力して、ボーナスの総数を支払うべきですか?
profit = int(input(' :'))
arr = [1000000,600000,400000,200000,100000,0]
rat = [0.01,0.015,0.03,0.05,0.075,0.1]
bonus = 0
for i in range(0, 6):
if profit > arr[i]:
bonus += (profit-arr[i]) * rat[i]
for j in range(i, 5):
bonus += (arr[j]-arr[j+1])*rat[j+1]
print(bonus)
break
三、1つの整数、それは100をプラスした後に1つの完全な平方数で、更に168をプラスしてまた1つの完全な平方数で、この数はいくらですか?
for i in range(1,85):
if 168 % i == 0:
j = 168 / i;
if i > j and (i + j) % 2 == 0 and (i - j) % 2 == 0 :
m = (i + j) / 2
n = (i - j) / 2
x = n * n - 100
print(x)
四、ある年ある月ある日を入力し、この日がこの年の何日目かを判断する.
year = int(input(" "))
month = int(input(" "))
day = int(input(" "))
amount = ()
if year % 4 == 0 and year % 100 != 0:
amount = (31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366)
amount = (31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365)
if month == 1:
print(day)
else:
print(amount[month-2]+day)
五、三つの整数x,y,zを入力して、この三つの数を小さいから大きいまで出力してください.
x = int(input(" :"))
y = int(input(" :"))
z = int(input(" :"))
a = ()
if x > y:
if y > z:
a = (z, y, x)
elif x > z:
a = (y, z, x)
else:
a = (y, x, z)
else:
if x > z:
a = (z, x, y)
elif y > z:
a = (x, z, y)
else:
a = (x, y, z)
print(" :" + str(a))
六、出力フィボナッチ数列の上位20数.
fib = [1, 1]
for i in range(2,21):
fib.append(fib[i-2] + fib[i-1])
print(str(fib))
七、あるリストのデータを別のリストにコピーし、出力する.
a = [1, 1, 2, 3, 5, 8]
b = a[:]
print(str(b))
八、出力9*9乗算口诀表.
for i in range(1,10):
for j in range(1, i+1):
print(str(i*j) + " ", end = "")
print()
九、一時停止して一秒後に出力します.解析:timeモジュールのsleep()関数を使用します.
import time
a = [1, 3, 5, 7, 9]
for i in range(0,5):
print(a[i])
time.sleep(1)#
十、一秒の出力を一時停止し、現在の時間をフォーマットします.
import time
for i in range(0,30):
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
time.sleep(1)#
十一、古典の问题:1対のウサギがあって、生まれてから3ヶ月目から毎月すべて1対のウサギを生んで、小さいウサギは3ヶ月目まで成长してから毎月また1対のウサギを生んで、もしウサギはすべて死なないならば、毎月のウサギの総数はいくらですか?(小学校の悪夢問題は、実はフィボナッチ数列)
fib = [1, 1]
for i in range(2,21):
fib.append(fib[i-2] + fib[i-1])
print(str(fib))
十二、101-200の間に何個の素数があるかを判断し、すべての素数を出力する.
def isPrime(num):
if num == 2:
return True
for i in range(2, int(num ** 0.5 + 1)):
if num % i == 0:
return False
return True
count = 0;
for i in range(100, 201):
if isPrime(i):
print(i)
count += 1
print(" :" + str(count))
十六、指定されたフォーマットの日付を出力します.
import datetime
print(datetime.date.today().strftime("%Y.%m.%d"))
MyBirthday = datetime.date(1997, 10, 24)
print( MyBirthday.strftime("%Y.%m.%d"))
print(datetime.date.today() - MyBirthday)#
十七、英字、スペース、数字、その他の文字の個数をそれぞれ統計する1行の文字を入力します.
s = input(" :")
alphabet = 0
space = 0
number = 0
others = 0
for c in s:
if c.isalpha():
alphabet += 1
elif c.isspace():
space += 1
elif c.isnumeric():
number += 1
else:
others += 1
print(" :" + str(alphabet) + " ")
print(" :" + str(space) + " ")
print(" :" + str(number) + " ")
print(" :" + str(others) + " ")
三十二、リストの値を逆の順序で出力する.
a = [1, 3, 5, 7, 9]
for i in a[::-1]:
print(i)
三十五、テキストの色の設定.
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 + " ")
四十九、lambdaを使用して匿名関数を作成します.
ADD = lambda x,y : (x+y)
print(ADD(1, 2))
50、乱数を出力します.
import random
print(random.uniform(0, 100))
六十二、文字列を検索します.
str1 = "abcdefg"
str2 = "ef"
print(str1.find(str2))
六十八、n個の整数があり、その前の各数を順番にm個の位置に後退させ、最後にm個の数が一番前のm個の数になる
a = [1, 2 , 3, 4, 5, 6, 7, 8, 9, 10]
m = int(input(" m :"))
b = a[len(a)-m: len(a)]
a[m: len(a)-1] = a[0: len(a)-1-m]
a[0: m] = b
print(str(a))
70、1つの関数を書いて、1つの文字列の長さを求めて、main関数の中で文字列を入力して、そしてその長さを出力します.
def length(s):
length = 0
for c in s:
length += 1
return length
if __name__ == "__main__":
s = input(" :")
print(" :" + str(length(s)))
七十三、チェーンテーブルを逆出力します.
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for i in a[::-1]:
print(i)
七十四、ソートはsort()メソッドを使用することができ、接続は+番号またはextend()メソッドを使用することができる.
a = [1, 3, 5, 7, 9]
b = [2, 4, 6, 8, 10]
a.extend(b)
a.sort()
print(a)
八十四、接続リストの文字列.
delimiter = ','
mylist = ['Brazil', 'Russia', 'India', 'China']
print (delimiter.join(mylist))
八十七、構造体変数伝達
class Student:
id = 0
name = ""
def init(std):
std.id = 2678
std.name = "brother xiao"
std = Student()
init(std)
print(str(std.id) + " " + std.name)
九十二、時間関数はプログラムの計時に用いる
import time
start = time.time()
sum = 0
for i in range(0, 3000):
sum += i
end = time.time()
print(" :" + str(end-start) + " ")
九十七、キーボードから文字を入力し、1つの#を入力するまでディスクファイルに1つずつ書きます.
if __name__ == "__main__":
f = open("test.txt", "w")
print(" ")
ch = ""
while "#" not in ch:
ch = input()
f.write(ch)
f.close()
百、リストを辞書に変換します.
a = ["China", "America", "Japan", "British"]
dic = {}
for i in range(0, len(a)):
dic[i] = a[i]
print(str(dic))