Python【每日一问】23
问:
【基础题】:判断 101-200 之间有多少个素数,并输出所有素数
PS:素数:一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数
【提高题】:输入某年某月某日,判断这一天是周几?(不能用库)
答:
【基础题】:判断 101-200 之间有多少个素数,并输出所有素数
PS:素数:一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数
方法1:
prime_number_list = []
for i in range(101, 201):
for j in range(2, int(i**0.5)+1):
if i % j == 0:
break
else:
prime_number_list.append(i)
print("101-200之间的素数有:{}个".format(len(prime_number_list)))
print(prime_number_list)
方法2:
'''
求100到200以内的素数
''' prime_number_list = [2]
for i in range(3, 201):
for prime_number in prime_number_list:
if i % prime_number == 0:
break
else:
prime_number_list.append(i) filtered_prime_number_list = list(filter(lambda x: x>= 101, prime_number_list)) print(filtered_prime_number_list)
输出结果:
[101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199]
【提高题】:输入某年某月某日,判断这一天是周几?(不能用库)
import re # 1582年10月15是周六 class calen:
def __init__(self, year, month, day):
self.Year = year
self.Month = month
self.Day = day
self.other = 16 + 30 + 31
'''
1582年以前各国日历计算不太一样,
所以1582年以前一年不知道多少天,345天都有可能。
因此直接从1583年算起的,1582.10.15到1582.12.31一共 self.other 天
''' # 判断闰年
def is_leap_year(self, year):
if (year % 400 == 0) or (year % 100 != 0 and year % 4 == 0):
return 366
else:
return 365 def week(self):
weekdays = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"]
monthday = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
# 判断二月
if self.is_leap_year(self.Year) == 366:
monthday[1] = 29
day_sum = 0
# 判断年数
for y_year in range(1583, self.Year):
if self.is_leap_year(y_year) == 366:
day_sum += 366
else:
day_sum += 365 # 判断月数
for m_month in range(self.Month - 1):
day_sum += monthday[m_month] # 天数
day_sum += self.Day weekday = (day_sum - self.other - 10) % 7
print("这一天是{}".format(weekdays[weekday])) if __name__ == "__main__":
input_date = input('请输入日期(年-月-日):')
year_number, month_number, day_number = map(int, re.findall(r'\d+', input_date))
w = calen(year_number, month_number, day_number)
w.week()
输出结果:


Python【每日一问】23的更多相关文章
- [python每日一练]--0012:敏感词过滤 type2
题目链接:https://github.com/Show-Me-the-Code/show-me-the-code代码github链接:https://github.com/wjsaya/python ...
- Python 每日一练 | Flask 实现半成品留言板
留言板Flask实现 引言 看了几天网上的代码,终于写出来一个半成品的Flask的留言板项目,为什么说是半成品呢?因为没能实现留言板那种及时评论刷新的效果,可能还是在重定向上有问题 或者渲染写的存在问 ...
- Python每日一练(1):计算文件夹内各个文章中出现次数最多的单词
#coding:utf-8 import os,re path = 'test' files = os.listdir(path) def count_word(words): dic = {} ma ...
- python每日一函数 - divmod数字处理函数
python每日一函数 - divmod数字处理函数 divmod(a,b)函数 中文说明: divmod(a,b)方法返回的是a//b(除法取整)以及a对b的余数 返回结果类型为tuple 参数: ...
- 每日一问:Android 消息机制,我有必要再讲一次!
坚持原创日更,短平快的 Android 进阶系列,敬请直接在微信公众号搜索:nanchen,直接关注并设为星标,精彩不容错过. 我 17 年的 面试系列,曾写过一篇名为:Android 面试(五):探 ...
- 每日一问:谈谈 volatile 关键字
这是 wanAndroid 每日一问中的一道题,下面我们来尝试解答一下. 讲讲并发专题 volatile,synchronize,CAS,happens before, lost wake up 为了 ...
- 每日一问:讲讲 Java 虚拟机的垃圾回收
昨天我们用比较精简的文字讲了 Java 虚拟机结构,没看过的可以直接从这里查看: 每日一问:你了解 Java 虚拟机结构么? 今天我们必须来看看 Java 虚拟机的垃圾回收算法是怎样的.不过在开始之前 ...
- 每日一问:你了解 Java 虚拟机结构么?
对于从事 C/C++ 程序员开发的小伙伴来说,在内存管理领域非常头疼,因为他们总是需要对每一个 new 操作去写配对的 delete/free 代码.而对于我们 Android 乃至 Java 程序员 ...
- 每日一问:LayoutParams 你知道多少?
前面的文章中着重讲解了 View 的测量流程.其中我提到了一句非常重要的话:View 的测量匡高是由父控件的 MeasureSpec 和 View 自身的 `LayoutParams 共同决定的.我们 ...
- 每日一问:简述 View 的绘制流程
Android 开发中经常需要用一些自定义 View 去满足产品和设计的脑洞,所以 View 的绘制流程至关重要.网上目前有非常多这方面的资料,但最好的方式还是直接跟着源码进行解读,每日一问系列一直追 ...
随机推荐
- 史上最全的音视频SDK包分享给大家
史上最全的音视频SDK包分享给大家 概述一下SDK功能: 项目 详情视频通信 支持多种分辨率的视频通信语音通信 提供语音通信,可支持高清宽带语音动态创建房间 可以根据需要,随时创建房间H5 支持 ...
- Go 笔记之如何防止 goroutine 泄露
今天来简单谈谈,Go 如何防止 goroutine 泄露. 概述 Go 的并发模型与其他语言不同,虽说它简化了并发程序的开发难度,但如果不了解使用方法,常常会遇到 goroutine 泄露的问题.虽然 ...
- css+js实现自动伸缩导航栏
用css+js实现自动伸缩导航栏 需要达到的效果: 默认首页选中样式 设置鼠标滑过效果:颜色变化(#f60),宽度变化,字体变化 所涉及的知识点: 布局:float css: 元素状态切换(displ ...
- Gin-Go学习笔记二:Gin-Web框架
Gin-Web框架 1> 首先声明,这个是我自己搭建的纯Gin-Web框架,其中有借鉴学习别的想法和代码.已上传到GitHub上.地址为: https://github.com/weiy ...
- Qt中的强制类型转换
在C++开发中经常要进行数据类型的强制转换. 刚开始学习的时候,直接对基本数据类型强制类型转换,如float fnum = 3.14; int num = (int)fnum; 随着C++标准的发展, ...
- Android 一个TextView中设置多种不同大小的字体,设置超链接
以前项目中要是遇到这样的UI设计,都是傻不拉唧的分为三个TextView来实现,今天在微信中无意中看了一篇公众号文章,发现原来只要一个TextView就可以搞定啦,人生最悲哀的事情莫过于工作了这么久啦 ...
- 解决使用maven clean项目的时候报错,删除target文件夹失败
背景:jdk1.8 + maven3.5.2 问题描述: 我在使用maven clean项目的时候,celan 失败,报错的原因是删除项目下的target文件夹下面的文件失败 解决方法: 打开任务管理 ...
- Rxjava学习笔记
1.使用Observable.range(int start, int count)创建一个发射特定整数序列的Observable,第一个参数为起始值,第二个为发送的个数,如果为0则不发送,负数则抛异 ...
- MVC Core 使用TagHelper扩展几个插件
未完待续... 案例1:按钮权限校验,无权限不显示,利用TagHelper控制元素是否输出 [HtmlTargetElement("tc-permission", TagStruc ...
- Java实现递归阶乘
public class Factorial{ public static void main(String[] args){ for (int i = -5; i <= 5; i++) { S ...