前言
本文已参与「新人创作礼」活动,一起开启掘金创作之路,今天继续更新一些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, "天!")