Python基礎練習問題と答え(一)
4386 ワード
この練習問題はすべてネット上で探して、しかしすべての問題のプログラムは私が自分で書いたので、プログラミングのレベルはわりに悪くて、また各位の見官が指摘することを望みます.
1.ランダムに2つの100未満の整数を生成し、そのうちの1つの数のデータ型と記憶アドレスを印刷し、この2つの数の和、差、積、商、べき乗演算を求める.
2.台形の面積を求めます:上底と下底と高さを入力して、面積を出力します.面積は2桁の有効な数字を保持し、入力が数字でない場合は異常処理でスナップし、再入力する必要があります.
3.4桁の整数を入力し、逆シーケンス数を出力します.
4.ランダムに1つのリストa、10の要素を生成する.順序を乱して、それからaの最大値、最小値、和、平均値を求めて、大きいから小さいまでの順序を表示します
5.ランダムに1つのリストaを生成し、10個の要素はいずれも10未満である.要素5を挿入し、6番目の位置に要素99を挿入し、最大値を出力し、奇数ビットの値を出力する(この問題の意味がよく分からない).
6.通信録の例では、通信録を実現し、類似の機能は以下の通りであり、辞書のアクセスを練習する.「王さん」「111」「李さん」「112」へようこそ.
7.多級辞書の訪問創建は以下の通りである:情報「四川」:「成都」:「青城山」、「都江堰」、「寛窄巷子」、「広元」:「剣門関」、「川信」、「紅星公園」出力:川信
8.数字を当ててランダムに1つの数(1-20)を生成して、1つの数を入力して、もし等しいならば、出力は当てて、プログラムは終わって、もし小さく当てたら、出力は当てて小さくなって、引き続き当てて、もし大きく当てたら、出力は当てて大きくなって、引き続き当てて3回しか当てない機会を当てて、3回を超えて、ゲームは終わります
9.関数を作成し、年を入力し、閏年かどうかを判断する
10.関数を作成し、数字を入力し、素数かどうかを判断する
1.ランダムに2つの100未満の整数を生成し、そのうちの1つの数のデータ型と記憶アドレスを印刷し、この2つの数の和、差、積、商、べき乗演算を求める.
import random
num1 = random.randint(1,100)
num2 = random.randint(1,100)
print(" :%d,%d"%(num1,num2))
print("num1 :%s"%(type(num1)))
print("num1 :%d"%(id(num1)))
sum = num1 + num2
print(" :%d"%(sum))
dif = num1 - num2
print(" :%d"%(dif))
pro = num1 * num2
print(" :%d"%(pro))
dea = num1 / num2
print(" :%d"%(dea))
2.台形の面積を求めます:上底と下底と高さを入力して、面積を出力します.面積は2桁の有効な数字を保持し、入力が数字でない場合は異常処理でスナップし、再入力する必要があります.
def calc():
top = int(input(" :"))
bottom = int(input(" :"))
heigh = int(input(" :"))
area = ((top + bottom)*heigh)/2
print(" :%0.2f"%(area))
while 1:
try:
calc()
break
except:
print(" , !")
3.4桁の整数を入力し、逆シーケンス数を出力します.
num = input(" :")
print(num[::-1])
4.ランダムに1つのリストa、10の要素を生成する.順序を乱して、それからaの最大値、最小値、和、平均値を求めて、大きいから小さいまでの順序を表示します
import random
a = []
sum = 0
for i in range(0,10):
num = random.randint(1,100)
a.append(num)
a.sort(reverse=True)
print("a :%d"%(a[0]))
print("a :%d"%(a[-1]))
for j in range(0,len(a)):
sum += a[j]
print("a :%d"%(sum))
ave = (a[4]+a[5])/2
print("a :%d"%(ave))
print(a)
5.ランダムに1つのリストaを生成し、10個の要素はいずれも10未満である.要素5を挿入し、6番目の位置に要素99を挿入し、最大値を出力し、奇数ビットの値を出力する(この問題の意味がよく分からない).
import random
a = []
for i in range(0,10):
num = random.randint(1,10)
a.append(num)
print(a)
6.通信録の例では、通信録を実現し、類似の機能は以下の通りであり、辞書のアクセスを練習する.「王さん」「111」「李さん」「112」へようこそ.
con = {}
while 1:
print("="*30)
print(" ")
print("1、 ( )")
print("2、 ( , )")
print("3、 ( )")
print("4、 ")
print("5、 ")
print("="*30)
choose = int(input(" :"))
if choose == 1:
serch_name = input(" :")
if serch_name in con.keys():
print(con[serch_name])
else:
print(" !")
elif choose == 2:
add_name = input(" :")
add_num = input(" :")
con[add_name] = add_num
print(" !")
elif choose == 3:
del_name = input(" :")
if del_name in con.keys():
con.pop(del_name)
print(" !")
else:
print(" , !")
elif choose == 4:
for key in con:
print("%s:%s"%(key,con[key]))
elif choose == 5:
print(" , !")
exit()
7.多級辞書の訪問創建は以下の通りである:情報「四川」:「成都」:「青城山」、「都江堰」、「寛窄巷子」、「広元」:「剣門関」、「川信」、「紅星公園」出力:川信
addr = {" ":{" ":[" "," "," "],
" ":[" "," "," "]}}
print(addr[" "][" "][1])
8.数字を当ててランダムに1つの数(1-20)を生成して、1つの数を入力して、もし等しいならば、出力は当てて、プログラムは終わって、もし小さく当てたら、出力は当てて小さくなって、引き続き当てて、もし大きく当てたら、出力は当てて大きくなって、引き続き当てて3回しか当てない機会を当てて、3回を超えて、ゲームは終わります
import random
num = random.randint(1,20)
i = 3
while i>0:
inp_num = int(input(" (0-20):"))
if inp_num == num:
print(" , !")
exit()
if inp_num > num:
print(" , !")
if inp_num < num:
print(" , !")
i -= 1
print(" , !")
exit()
9.関数を作成し、年を入力し、閏年かどうかを判断する
year = int(input(" :"))
if year%4 == 0:
print("%d "%(year))
else:
print("%d "%(year))
10.関数を作成し、数字を入力し、素数かどうかを判断する
import math
flage = True
num = int(input(" :"))
if num == 2:
print("2 ")
else:
for i in range(2,int(math.sqrt(num)+1)):
if num%i == 0:
flage = False
break
if flage == True:
print("%d "%(num))
else:
print("%d "%(num))