Python入門経典の基礎問題(day 4)を分かち合って完全な解答を添付します
5179 ワード
Python入門基礎問題の共有を続けます(day 4)
1.1,2,3,4個の数字があり、互いに異なり、重複しない3桁の数を構成することができますか?どれだけ
回答:
2.企業がボーナスを支給する場合、利益lが10万元以下、ボーナスが10万元以上、利益が10万元以上、20万元以下の場合、10万元以下の場合、10万元以上の場合、7.5%、20万-40万元以上の場合、20万元以上の場合、5%以上、40万から60万までの場合、40万元以上の場合、3%以上、60-100万元以上の場合、60万元以上の場合、1.5%以上、100万元以上の場合、100万元を超える部分は1%に引き上げて、月利潤lを入力して、ボーナスの総数を支給することを求めます
回答:
3.1つの整数、100をプラスした后に1つの完全な平方数で、268をプラスしても1つの完全な平方数で、この数はいくらですか?
回答:
4.日付を入力して、この日がこの年の何日目かを判断します.
回答:
5.条件演算子を利用して完成する;学習成績>=90点の生徒はA、60-89点の生徒はB、60点以下の生徒はC
回答:
6.s=a+aaa+aaa+aaa+aaaaa+aaa+aaa...aの値を求め、ここでaは数字である.
回答:
7.1つのボールが100メートルの高さから落ちて、着地するたびに元の高さの半分に跳ね返った.更に落ちて、それが10回目に着地する時を求めて、共に何メートルを通りますか?10回目のリバウンドはどれくらいですか?
回答:
8.1つの学校、3つの事務室があって、今8人の先生が工位の分配を待っていて、プログラムを編纂して、ランダムな分配を完成してください
回答:
9.あるシーケンス、2/1,3/2,5/3,8/5,13/8,21/13...この数列の前の20項と
回答:
10.1を求める!+2!+3!..+20!の和
回答:
11.再帰的な方法で階乗を求める
回答:
12.再帰関数を使用して入力文字列を逆順序で出力する
回答:
13.5人が一緒に座って、5人目は何歳ですか.彼は4人目より2歳年上だと言って、4人目に3人目より2歳年上だと聞いた.の最初の人は10歳です.この5人目はいくつですか?
回答:
14.5桁以下の正の整数を与える.要求:一、それが何桁であるかを求める二、逆の順序で1桁の数字を印刷する
回答:
15.3*3行列の対角線要素の和を求める
回答:
16.配列されたシーケンスがあり、現在は数を入力し、元の法則に従って数列に挿入する必要があります.
回答:
1.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!=j) and (i!=k) and (j!=k):
print(i,j,k)
2.企業がボーナスを支給する場合、利益lが10万元以下、ボーナスが10万元以上、利益が10万元以上、20万元以下の場合、10万元以下の場合、10万元以上の場合、7.5%、20万-40万元以上の場合、20万元以上の場合、5%以上、40万から60万までの場合、40万元以上の場合、3%以上、60-100万元以上の場合、60万元以上の場合、1.5%以上、100万元以上の場合、100万元を超える部分は1%に引き上げて、月利潤lを入力して、ボーナスの総数を支給することを求めます
回答:
l=int(input(" :"))
s=0
a=0
b=0
if l<=100000:
s=l+l*0.1
elif l<=200000:
a=(l-100000)*0.75
b=100000*0.1
s=a+l+a+b
elif l<=400000:
a=(l-200000)*0.5
s=l+a
elif l<=600000:
a=(l-400000)*0.3
s=l+a
elif l<=1000000:
a=(1-600000)*1.5
s=l+a
elif l>1000000:
a=(l-1000000)*1
s=l+a
print(s)
3.1つの整数、100をプラスした后に1つの完全な平方数で、268をプラスしても1つの完全な平方数で、この数はいくらですか?
回答:
import math
i=1
while i<=100000:
x=int(math.sqrt(i+100))
y=int(math.sqrt(i+268))
if x*x==(i+100) and y*y==(i+268):
print(i)
i+=1
4.日付を入力して、この日がこの年の何日目かを判断します.
回答:
x=int(input("year"))
y=int(input("month"))
z=int(input("day"))
s=0
if x%4==0 and x%100!=0 or x%400==0:
if x>2:
s+=1
y1=[1,3,5,7,8,10,12]
for i in range(1,y):
if i in y1:
s=s+31
elif i==2:
s=s+28
else:
s=s+30
s=s+z
print(s)
5.条件演算子を利用して完成する;学習成績>=90点の生徒はA、60-89点の生徒はB、60点以下の生徒はC
回答:
s=int(input(" :"))
if s>=90:
print("A")
elif s>=60:
print("B")
elif s<60:
print("C")
6.s=a+aaa+aaa+aaa+aaaaa+aaa+aaa...aの値を求め、ここでaは数字である.
回答:
x=input(" ?:") # 5 :*+**+***+****+*****
y=input(" ?:") # 2 :2+22+222+2222+22222
s=''
s1=0
for i in range(int(x)):
s=s+y
s1=s1+int(s)
print(s1)
7.1つのボールが100メートルの高さから落ちて、着地するたびに元の高さの半分に跳ね返った.更に落ちて、それが10回目に着地する時を求めて、共に何メートルを通りますか?10回目のリバウンドはどれくらいですか?
回答:
height=100 # 100
s=100 #s=100
for i in range (9): # 100 , 9
height=height/2 # 9 ,
s=s+height*2 # , height 2, 100 , 10 .
print(" , %f , %f " %(s,height/2)) # 9 , 2, .
8.1つの学校、3つの事務室があって、今8人の先生が工位の分配を待っていて、プログラムを編纂して、ランダムな分配を完成してください
回答:
import random
offices=[[],[],[]]
teachers=['A','B','C','D','E','F','G','H']
for i in teachers:
a=random.randint(0,2)
offices[a].append(i)
k=0
for j in offices:
print(" {0} {1} , :{2}".format(k,len(j),j))
k=k+1
9.あるシーケンス、2/1,3/2,5/3,8/5,13/8,21/13...この数列の前の20項と
回答:
a=1.0
b=2.0
sum=0.0
for i in range(20):
sum=sum+b/a
s=a+b
a=b
b=s
print(sum)
10.1を求める!+2!+3!..+20!の和
回答:
def Jiecheng(m):
p=1
for i in range(1,m):
p=p*i
return p
s=0
for j in range(1,21):
s=s+Jiecheng(j)
print(s)
11.再帰的な方法で階乗を求める
回答:
def Jiecheng(m):
if m==1:
return 1
else:
return m*Jiecheng(m-1)
for i in range(1,6):
print("{0}!={1}".format(i,Jiecheng(i)))
12.再帰関数を使用して入力文字列を逆順序で出力する
回答:
def string(n):
if len(n)<=1:
return n
else:
return n[-1]+string(n[:-1])
x=input(" :")
print(string(x))
13.5人が一緒に座って、5人目は何歳ですか.彼は4人目より2歳年上だと言って、4人目に3人目より2歳年上だと聞いた.の最初の人は10歳です.この5人目はいくつですか?
回答:
def age(n):
if n==1:
s=10
else:
s=age(n-1)+2
return s
print(age(5))
14.5桁以下の正の整数を与える.要求:一、それが何桁であるかを求める二、逆の順序で1桁の数字を印刷する
回答:
x=input(" 5 :")
count=len(x)
e=int(x)%10 #5
d=int(x)%100//10 #4
c=int(x)%1000//100 #3
b=int(x)//1000%10 #2
a=int(x)//10000 #1
if a!=0:
print(" 5 ",e,d,c,b,a)
elif b!=0:
print(" 4 ",e,d,c,b)
elif c!=0:
print(" 3 ",e,d,c)
elif d!=0:
print(" 2 ",e,d)
elif e!=0:
print(" 1 ",e)
else:
print(" ")
15.3*3行列の対角線要素の和を求める
回答:
a=[
[1,2,3],
[4,5,6],
[7,8,9]
]
s=0
for i in range(3):
for j in range(3):
if i==j:
s+=a[i][j]
print(s)
16.配列されたシーケンスがあり、現在は数を入力し、元の法則に従って数列に挿入する必要があります.
回答:
s=[1,2,3,5,10]
x=int(input(" :"))
if x>=s[len(s)-1]:
s.append(x)
else:
for i in range(len(s)):
if x<=s[i]:
s.insert(i,x)
break
print(s)