(1) 3 つの整数の入力の最大値を返す関数 max(x, y, z) を定義します。
def max(x, y, z):
if x>=y>=z or x>=z>=y:
return x
elif y>=x>=z or y>=z>=x:
return y
elif z>=x>=y or z>=y>=x:
return z
a = max(4, 5, 7)
print(f"这三个数字中的最大值为{a}")
(2) 文字列内の大文字、小文字、数字の数をカウントし、結果として辞書とともに呼び出し元に返す関数 count() を定義します。
def count(s):
smallCount=0
bigCount=0
numberCount=0
for i in s:
if i>='a' and i<='z':
smallCount=smallCount+1
elif i>='A'and i<='Z':
bigCount=bigCount+1
elif i>='0'and i<='9':
numberCount=numberCount+1
print(f"这个字符串中的大写字母有{bigCount}个,小写字母有{smallCount}个,字母有{numberCount}个")
aaa=input("请输入你的字符串:")
count(aaa)
(3) 点が正方形の中にあるかどうかを判定するプログラムを書きます。正方形があり、四隅の座標(x,y)は(1,-1)、(1,1)、(-1,-1)、(-1,1)、xは横軸です, y は縦軸です。指定された点が正方形 (正方形の境界を含む) 内にあるかどうかを判断するプログラムを作成します。点が正方形の中にある場合は「yes」を出力し、それ以外の場合は「no」を出力します。(点の座標(m,n)は外部から入力)
point = input("请输入一个点的坐标,用空格分开").split()
m = float(point[0])
n = float(point[1])
if -1<=m<=1 and -1<=n<=1:
print("yes")
else:
print("no")
(4) 出力三角形の面積を計算する関数を書きます。浮動小数点型の 3 辺の長さを外部から入力する必要があります。三角形の面積公式は次のとおりであることが知られています: A=(s*(sa)*(sb)*(sc)) ** 0.5、ここで a、b、c は三角形の 3 辺の長さです。 s=(a+b+c)/2。
s = input("请输入三角形的三边长,用空格分开").split()
a = float(s[0])
b = float(s[1])
c = float(s[2])
def sjxmj(sa, sb, sc):
ss = (sa+sb+sc)/2
A =(ss*(ss-sa)*(ss-sb)*(ss-sc))**0.5 # **是幂运算
return A
B=sjxmj(a,b,c)
print(f"该三角形的面积为{B}")
(5) ルーレット宝くじゲームをシミュレートするプログラムを作成します。
ルーレットホイールは 1 等、2 等、3 等の 3 つの部分に分かれており、ルーレットホイールの回転はランダムです。範囲が [0, 0.08) の場合は 1 等を表し、範囲が [0.08, 0.3) の場合は 2 等を表し、範囲が [0.3, 1.0) の場合は 3 等を表します。賞。
import random
def fun(num):
if num >= 0 and num < 0.08:
return 1
elif num >= 0.08 and num < 0.3:
return 2
else:
return 3
A= random.uniform(0,1)
B=fun(A)
print(f'该玩家获得了{B}等奖励')
(6) 入力された n が素数かどうかを判定する関数 is_prime(n) を定義し、素数であれば True を返し、素数でなければ False を返します。キーボードから 2 つの整数 X と Y を入力し、この関数を呼び出して 2 つの範囲内の素数の数 (X と Y を含む) を出力します。
def is_prime(n):
import math
k = int(math.sqrt(n))
for i in range(2, k + 2):
if n % i == 0:
break
if i == k + 1:
return True
else:
return False
def num(a,b):
count=0
for i in range(a,b+1):
if is_prime(i):
count = count+1
print(f'共有{count}个素数')
X = int(input("请输入X的值:"))
Y = int(input("请输入Y的值:"))
num(X,Y)
(7) 数値を左から右に読んでも、右から左に読んでも同じであることがわかっている場合、その数値は回文数と呼ばれます。たとえば、121、1221、および 15651 はすべて回文数です。ここで、n が回文数であるかどうかを判断する関数 h(n) を作成してください。回文数である場合は True を返し、そうでない場合は False を返します。上記の関数を使用して素数を決定し、回文と素数の両方である 3 桁の 10 進数をすべて見つけます。
def h(a):
b = len(str(a))
n=str(a)
for i in range(b):
if n==n[::-1]:
return True
else:
return False
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
def main():
print("既是回文数又是素数的3位十进制数")
for j in range(100,1000):
if is_prime(j) and h(j):
print(j)
main()