Python编程练习(五)

1.编写一个十进制数,转换成一个二进制的数(用函数的方法)

def Dec2Bin(dec):
    result = ''

    if dec:
        result = Dec2Bin(dec // 2)
        return result + str(dec % 2)
    else:
        return result


print(Dec2Bin(15))

 2.编写一个十进制,转换成一个十六进制的数,用hex()函数

decimal = 123456
hexadecimal = hex(decimal)[2:]
print(hexadecimal)

3.编写程序显示2001年到2100年里所有的闰年,每行显示10个闰年,这些年被一个空格隔开

cont = 0
print('21世纪中的闰年有:')
for i in range(2001, 2101):
    if i % 4 == 0 and i % 100 != 0 or i % 400 == 0:
        print(i, end=' ')
        cont = cont + 1
        if cont % 10 == 0:
            print('\n')

 4.编写一个函数,计算一个整数各个数字的和。

def sumDigits(n):
    num = 0
    for i in range(len(str(n))):
        num += n % 10
        n = n // 10
    return num


print(sumDigits(234))

 5.实现摄氏度和华氏度之间的转换

c = float(input("请输入摄氏温度:"))
f = c*1.8+32
print(f"对应的华氏温度为:{f:.1f}")

f = float(input("请输入华氏温度:"))
c = 5.0/9.0*(f-32)
print(f"对应的摄氏温度为:{c:.1f}")

 6.编写一个函数,反向显示一个整数

def reverse_int(num):
    return int(str(num)[::-1])


print(reverse_int(3456))

 7.编写一个函数计算下面的数列m(i)=1/2+2/3+....+i/(i+1)

def caculate(n):
    sum = 0
    for x in range(n, 0, -1):
        sum = sum + x / (x + 1)

    print("sum=", sum)


caculate(20)

 8.用def area函数编写一个程序,输入三角形三边的值,若输入有效则计算面积,否则输入无效。

a = float(input("输入第一条边长:"))
b = float(input("输入第二条边长:"))
c = float(input("输入第三条边长:"))


def area(a, b, c):
    p = (a + b + c) / 2
    area = (p * (p - a) * (p - b) * (p - c)) ** 0.5
    return area


if a + b < c or a + c < b or b + c < a:
    print("输入无效,请重新输入")
else:
    print("三角形的面积为: %0.2f" % area(a, b, c))

 

9.判断一个整数是不是回文数

number = int(input("输入一个整数:"))


def isPalindrome(number):
    revNum = reverse(number)
    return number == revNum


def reverse(number):
    revNum = 0
    while number != 0:
        revNum = revNum * 10 + number % 10
        number //= 10
    return revNum


print(isPalindrome(number))

 

猜你喜欢

转载自blog.csdn.net/weixin_62304542/article/details/130250712