print('x=?')
x = int(input())
print('n=?')
n = int(input())
g = 2
y = 0
c=0
if (n % 2) == 1:
print('Так нельзя по условию')
exit(0)
else:
while c<(n/2):
y = y + (1 - x) / g
g=g+2
c=c+1
print('у=', y)
Объяснение:
Получилось решить через цикл While
Можно и через For, но у меня там что-то пошло не так , однако это решение уменьшит количество переменных (должно, по крайней мере). Если оно вам надо - напишите , в комментарии, я отошлю как разберусь.
Если нужно разобрать что как работает и что есть что - пишите в комментарии, я попробую .
Это футбол (тут использована pygame)
Правда, тут персонажи это два прямоугольничка. Но ими можно управлять с клавиатуры. И эта штука работает (прям отвечаю).
import pygame
import random
DISPLAY_H = 650
DISPLAY_W = 650
PLAYER_H = 25
PLAYER_W = 100
BALL_SIZE = 20
DISPLAY = pygame.display.set_mode((DISPLAY_W, DISPLAY_H))
BG_COLOR = (0, 0, 0)
FPS = 30
FPS_CLOCK = pygame.time.Clock()
def finish():
pygame.quit()
def main():
player1 = pygame.Rect(DISPLAY_W/2 - PLAYER_W/2, DISPLAY_H - 40, PLAYER_W, PLAYER_H)
player2 = pygame.Rect(DISPLAY_W/2 - PLAYER_W/2, 40, PLAYER_W, PLAYER_H)
ball = pygame.Rect(DISPLAY_W/2 - BALL_SIZE/2, DISPLAY_H/2 - BALL_SIZE/2,BALL_SIZE, BALL_SIZE)
x_ball_move = 0
y_ball_move = 0
while not x_ball_move:
x_ball_move = random.randint(-10, 10)
while not y_ball_move:
y_ball_move = random.randint(-10, 10)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
finish()
keys = pygame.key.get_pressed()
if keys[pygame.K_a]:
player2.move_ip(-10, 0)
elif keys[pygame.K_s]:
player2.move_ip(10, 0)
elif keys[pygame.K_z]:
player2.move_ip(0, -10)
elif keys[pygame.K_w]:
player2.move_ip(0, 10)
if keys[pygame.K_k]:
player1.move_ip(-10, 0)
elif keys[pygame.K_l]:
player1.move_ip(10, 0)
elif keys[pygame.K_m]:
player1.move_ip(0, -10)
elif keys[pygame.K_o]:
player1.move_ip(0, 10)
ball.move_ip(x_ball_move, y_ball_move)
if ball.x < 0:
x_ball_move = random.randint(1, 10)
if ball.x > DISPLAY_W - BALL_SIZE:
x_ball_move = random.randint(-10, -1)
if ball.colliderect(player1):
y_ball_move = random.randint(-10, -5)
if ball.colliderect(player2):
y_ball_move = random.randint(5, 10)
if ball.y < 0:
finish()
if ball.y > DISPLAY_H - BALL_SIZE:
finish()
DISPLAY.fill(BG_COLOR)
pygame.draw.rect(DISPLAY, (0, 255, 255), player1)
pygame.draw.rect(DISPLAY, (0, 255, 255), player2)
pygame.draw.rect(DISPLAY, (0, 255, 255), ball)
pygame.display.update()
FPS_CLOCK.tick(FPS)
main()
Объяснение: