Pythonの小さな演習

1) 三角形の 3 辺の長さを順に入力し、直角三角形が生成できるかどうかを判断します。

a = input("请输入三角形的第一个边长:")
b = input("请输入三角形的第二个边长:")
c = input("请输入三角形的第三个边长:")
if a+b > c and b+c > a and c+a > b:
    print("可以组成三角形")
else:
    print("不可以组成三角形")
# 任意两边之和大于第三边

(2)ユーザは年を入力して閏年かどうかを判定する。

year = int(input("请输入年份:"))
if year % 400 == 0 or year % 4 == 0 and year % 100 != 0:
    print("是闰年")
else:
    print("不是闰年")

(3) 最大公約数と最小公倍数を求めます。

# 求最大公因数和最小公倍数。辗转相除法
"""
一、求最大公约数
用辗转相除法求最大公约数的算法如下:
假如需要求 1997 和 615 两个正整数的最大公约数,用欧几里得算法,是这样进行的:
1997 ÷ 615 = 3 (余 152)
615 ÷ 152 = 4(余7)
152 ÷ 7 = 21(余5)
7 ÷ 5 = 1 (余2)
5 ÷ 2 = 2 (余1)
2 ÷ 1 = 2 (余0)
至此,最大公约数为1
以除数和余数反复做除法运算,当余数为 0 时,取当前算式除数为最大公约数,所以就得出了 1997 和 615 的最大公约数 1。
二、
1.求最小公倍数的算法:
最小公倍数 = 两个整数的乘积 / 最大公约数
所以我们首先要求出两个整数的最大公约数, 求两个数的最大公约数思路如下:
2. 求最大公约数算法:
① 整数A对整数B进行取整, 余数用整数C来表示 举例: C = A % B
② 如果C等于0,则C就是整数A和整数B的最大公约数
③ 如果C不等于0, 将B赋值给A, 将C赋值给B ,然后进行 1, 2 两步,直到余数为0, 则可以得知最大公约数
"""
a = int(input("请输入第一个数字:"))
b = int(input("请输入第二个数字:"))
d = a
e = b
if a > b == 0:
    c = a
    a = b
    b = c
while b != 0:
    temp = a % b
    a = b
    b = temp
print("最大公约数为:", a)
# 最小公倍数 = 两个整数的乘积 / 最大公约数
q = int(d*e/a)
print("最小公倍数为:", q)

(4) 次のように、for ループを使用してピラミッドを出力します。

   *

  ***

*****

*******

# 将金字塔看作一个由左边矩形、右边三角形组成的图形
a = 4
for i in range(a):
  print(' '*(a - 1 - i) + '*'*(i + 1) + '*'*i)

(5) 1、2、3、4 という 4 つの数字があります。これら 4 つの数字から、重複しない 3 桁の数字は何通りできますか? それぞれ何個ですか?

n=0
for a in range(1,5):
    for b in range(1,5) :
        if a!=b:#增加if条件语句,让循环要产生的数字减少,更省运行时间
            for c in range(1,5) :
                if a!=c:    #原因同上
                    for d in range(1,5):
                        if  (a!=d) and (b!=c) and (b!=d) and (c!=d):
                            print("%d%d%d%d "%(a,b,c,d))#空格分开
                            n=n+1
print("total%d" % n)

(6) キーボードから 2 より大きい整数を入力して、その数値が素数かどうかを判断します。

#素数(也称质数),是指除了1和该数本身,不能被任何正整数整除的正整数。判断一个正整数m是否为素数,
# 只要判断m可否被2~根号m之中的任何一个正整数整除,如果m不能被此范围中任何一个正整数整除,m即为素数,否则m为合数。
import math
m = int(input("请输入一个整数(>1):"))
k = int(math.sqrt(m))
for i in range(2, k+2):
    if m % i == 0:
        break
if i == k+1:
    print(m,"是素数")
else:
    print(m,"是合数")

(7) 正の整数を入力し、その桁数を調べます。

s = input('随便输入一个整数:')
l = len(s)
print('您输入的是%s位数' % l)

おすすめ

転載: blog.csdn.net/weixin_68479946/article/details/128767571