|
发表于 2018-12-3 21:28:24
|
显示全部楼层
本帖最后由 凌九霄 于 2018-12-5 16:00 编辑
头昏眼花,已经失去思考的能力 。
- def func217(L):
- a, b = L[0] // 2, L[1] // 2
- c, d = L[0] % 2, L[1] % 2
- if a % 2 == 0 and b % 2 == 0:
- if c == 0 and d == 0:
- T = [(a, a + L[1]), (b + L[0], b)]
- elif c == 0 and d != 0:
- T = [(a, a + L[1]), (b + L[0], b + 1)]
- elif c != 0 and d == 0:
- T = [(a, a + 1 + L[1]), (b - 1 + L[0], b + 1)]
- elif c != 0 and d != 0:
- T = [(a, a + 1 + L[1]), (b + 1 + L[0], b)]
- elif a % 2 == 0 and b % 2 != 0:
- if c == 0 and d == 0:
- T = [(a, a + L[1]), (b + 1 + L[0], b - 1)]
- elif c == 0 and d != 0:
- T = [(a, a + L[1]), (b + 1 + L[0], b)]
- elif c != 0 and d == 0:
- T = [(a, a + 1 + L[1]), (b + L[0], b)]
- elif c != 0 and d != 0:
- T = [(a, a + 1 + L[1]), (b + L[0], b + 1)]
- elif a % 2 != 0 and b % 2 == 0:
- if c == 0 and d == 0:
- T = [(a - 1, a + 1 + L[1]), (b + L[0], b)]
- elif c == 0 and d != 0:
- T = [(a - 1, a + 1 + L[1]), (b + L[0], b + 1)]
- elif c != 0 and d == 0:
- T = [(a + 1, a + L[1]), (b - 1 + L[0], b + 1)]
- elif c != 0 and d != 0:
- T = [(a + 1, a + L[1]), (b + 1 + L[0], b)]
- elif a % 2 != 0 and b % 2 != 0:
- if c == 0 and d == 0:
- T = [(a - 1, a + 1 + L[1]), (b - 1 + L[0], b + 1)]
- elif c == 0 and d != 0:
- T = [(a - 1, a + 1 + L[1]), (b + 1 + L[0], b)]
- elif c != 0 and d == 0:
- T = [(a + 1, a + L[1]), (b + L[0], b)]
- elif c != 0 and d != 0:
- T = [(a + 1, a + L[1]), (b + L[0], b + 1)]
- return T
- import random
- L = [random.randint(-10, 10), random.randint(-10, 10)]
- print(L)
- print(func217(L))
复制代码
稍简化版本,依然
- def func217(L):
- A, B, C = L[0] // 2, L[1] // 2, []
- if L[0] % 2 == 0:
- if A % 2 == 0:
- C.append((A, A + L[1]))
- else:
- C.append((A - 1, A + 1 + L[1]))
- else:
- if A % 2 == 0:
- C.append((A, A + 1 + L[1]))
- else:
- C.append((A + 1, A + L[1]))
- if L[1] % 2 == 0:
- if (B % 2 == 0 and L[0] % 2 == 0) or (B % 2 != 0 and L[0] % 2 != 0):
- C.append((B + L[0], B))
- elif (B % 2 == 0 and L[0] % 2 != 0) or (B % 2 != 0 and L[0] % 2 == 0):
- C.append((B - 1 + L[0], B + 1))
- else:
- if (B % 2 == 0 and L[0] % 2 == 0) or (B % 2 != 0 and L[0] % 2 != 0):
- C.append((B + L[0], B + 1))
- elif (B % 2 == 0 and L[0] % 2 != 0) or (B % 2 != 0 and L[0] % 2 == 0):
- C.append((B + 1 + L[0], B))
- return C
复制代码 |
评分
-
查看全部评分
|