一道上课讲的 蓝桥杯竞赛题
题目:小明坚持每天跑步,正常情况下每天跑一公里,如果这一天是周一或者月初(每月的一号),那么小明就会跑两公里(如果这一天既是周一,又是月初,小明也是跑两公里),小明从2000年1月1日(周六)一直坚持到了2020年10月1日(周四),请你计算一下小明共跑了多少公里?
思路:1.找出星期一或者每月第一天
2.是的话 累加两天 不然每过一天只累加一天
最关键的还是函数包啦 太方便了
from datetime import *
start = date(2000,1,1)
end= date(2020,10,2)
tmp=timedelta(days =1) #天数每次递加一天
ans =0
while start !=end:
if start.weekday()==0 or start.day ==1: #星期一对应的是0
ans+=2
else:
ans+=1
start =start +tmp
print(ans)
提示
题目二
地理老师在黑板上挂了一张世界地图,并给五大洲的每一个洲都标上一个代号,让学生认出五个洲,五个学生分别回答如下
甲:3号是欧洲,2号是美洲;
乙:4号是亚洲,2号是大洋洲;
丙:1号是亚洲,5号是非洲;
丁:4号是非洲,3号是大洋洲;
戊:2号是欧洲,5号是美洲.
老师说他们每人都只说对了一半
请找出编号的对应元素
其实不要那个rjust一样的 我瞎搞的
代码:
five_country=['亚洲','欧洲','非洲','美洲','大洋洲']
for x1 in five_country:
for x2 in five_country:
for x3 in five_country:
for x4 in five_country:
for x5 in five_country:
if (x2!=x1) and ((x3!=x2) and(x3!=x1)) and ((x4!=x3)and(x4!=x2)and(x4!=x1)) and (x5!=x4) :
if (x3=='欧洲'or x2=='美洲')==1 and (x4=='亚洲' or x2=='大洋洲')==1 and (x1=='亚洲' or x5=='非洲')==1 and (x4=='非洲' or x3=='大洋洲')==1 and (x2=='欧洲' or x5=='美洲')==1 :
print('1号是:',x1.rjust(3)) #rjust 一种对齐方式 ljust左对齐 center居中对齐 rjust右对齐 更美观吧
print('2号是:',x2.rjust(3))
print('3号是:',x3.rjust(3))
print('4号是:',x4.rjust(3))
print('5号是:',x5.rjust(3))
break
题目三
我其实觉得 这样写 也行啦
不过还是看老师的吧 应该是要学习字典的
print('卡号 密码')
for i in range(1,101):
num='61020009%.3d'%(i) #"d"的话 是三位 f的话是小数点3位 ‘#’
print(num ,' redhat')
第四题
万花筒
import turtle
import random
t=turtle.Pen()
t.speed(0)
width = turtle.window_width()
height=turtle.window_height()
turtle.bgcolor('white')
colors=['red','orange','blue','green','purple','pink','yellow']
#画螺旋线 x,y落笔的位置 ;边数
def draw_spiral(x,y,sides):
t.penup()
t.setpos(x,y)
t.pendown()
for m in range(sides):
t.forward(2*m)
t.left(61)
def draw_wanhuatong(x,y):
t.color(random.choice(colors))
sides = random.randint(10,50)
draw_spiral(x,y,sides)
draw_spiral(-x,y,sides)
draw_spiral(-x,-y,sides)
draw_spiral(x,-y,sides)
turtle.onscreenclick(draw_wanhuatong)
题目五
一个小球游戏 (还没做完) 小球碰撞后会弹开
小球的图片:
需要自己保存名字为 beach_ball.png
import sys, pygame
from random import choice
class Ball(pygame.sprite.Sprite):
def __init__(self,image_file,location, speed):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load(image_file)
self.rect = self.image.get_rect()
self.rect.left, self.rect.top = location
self.speed =speed
def move(self):
self .rect=self.rect.move(self.speed)
if self.rect.left < 0 or self.rect.right > width:
self.speed[0]= -self.speed[0]
if self.rect.top < 0 or self.rect.bottom > height:
self.speed[1]= -self.speed[1]
def animate(group):
screen.fill([255,255,255])
for ball in group:
group.remove(ball)
if pygame.sprite.spritecollide(ball,group,False):
ball.speed[0] = -ball.speed[0]
ball.speed[1] = -ball.speed[1]
group.add(ball)
ball.move()
screen.blit(ball.image,ball.rect)
pygame.display.flip()
pygame.time.delay(20)
size = width, height = 640, 480
screen = pygame.display.set_mode(size)
screen.fill([255,255,255])
img_file="beach_ball.png"
group=pygame.sprite.Group()
for row in range (0,2):
for column in range (0,2):
location = [column *180 + 10, row * 180 + 10]
speed=[choice([-2,2]),choice([-2,2])]
ball = Ball(img_file,location,speed)
group.add(ball)
# Adds balls to a list
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
animate(group)
pygame.quit()