python练习题(5)

257 阅读2分钟

前言

本文已参与「新人创作礼」活动,一起开启掘金创作之路,今天继续更新一些python练习题,今天的题目很有意思,在数学上可能会有点难度,但是python可以用循环的思想去做,就会很简单。

正文

题目具体如下: 一个整数,它加上100后是一个完全平方数,再加上268又是一个完全平方数,请问该数是多少? 程序分析:在10000以内判断,先将该数加上100再开方,再将该数加上268再开方。

    import math

    for i in range(100000):
        j = math.sqrt(i + 100)
        if j == int(j):
    h = math.sqrt(j ** 2 + 268)
    if h == int(h):
        print(i)
    else:
        pass

大家需要注意的是python对字符的对齐格式要求很严格,对齐格式不同程序可能会出错。

在程序开端,导入math库,math的具体介绍如下:

在Python中,不仅可以使用内置函数编程,还可以使用标准库及第三方库中的函数进行编程。math库是Python的标准库,提供了诸多的数学函数,可以使用整数和浮点数的数学运算。

函数功能
math.sqrt()计算平方根,返回的数据为浮点型数据
math.log(x,y)计算对数,其中x为真数,y为底数
math.ceil()向上取整操作
** 向下取整**向下取整操作

等等。

【题目】:输入某年某月某日,判断这一天是这一年的第几天?
分析
以8月25日为例,应该先把前七个月的的天数加起来,然后再加上25天即本年的第几天,特殊情况,闰年输入月份大于3时需要考虑多加一天 代码:

year = int(input("Please enter the years:"))
month = int(input("Please enter the months(1-12):"))
day = int(input("Please enter the days(1-31):"))
days = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365]
if year % 4 == 0 and year % 100 != 0:
    if month > 2:
        totaldays = days[month - 1] + day + 1
    else:
        totaldays = days[month - 1] + day
else:
    totaldays = days[month - 1] + day
print("你输入的日期是:", year, "年", month, "月", day, '日', ",是今年的第", totaldays, "天!")