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))

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值