扭蛋机
def niudan(n
):
s
=''
n
=int(n
)
while n
:
if n
%2==0:
n
=(n
-2)/2
s
+='3'
else:
n
=(n
-1)/2
s
+='2'
print(s
[::-1])
return s
if __name__
== '__main__':
n
=input()
niudan
(n
)
计算表达式
class Solution:
def calculate(self
,s
):
"""
:type s: str
:rtype: int
"""
def precedence(op
):
if op
== '*' or op
== '/':
return 2
else:
return 1
def cal(op
, op1
, op2
):
if op
== '*':
return op1
* op2
elif op
== '/':
return op1
/ float(op2
)
elif op
== '+':
return op1
+ op2
else:
return op1
- op2
opstack
= []
operands
= []
idx
= 0
for i
in range(idx
, len(s
)):
if s
[i
] in '+-*/':
operands
.append
(s
[idx
:i
])
while len(opstack
) > 0 and precedence
(s
[i
]) <= precedence
(opstack
[-1]) and len(operands
) >= 2:
op
= opstack
.pop
()
op2
= int(operands
.pop
())
op1
= int(operands
.pop
())
res
= cal
(op
, op1
, op2
)
operands
.append
(res
)
opstack
.append
(s
[i
])
idx
= i
+ 1
operands
.append
(s
[idx
:])
while opstack
:
op
= opstack
.pop
()
op2
= int(operands
.pop
())
op1
= int(operands
.pop
())
res
= cal
(op
, op1
, op2
)
operands
.append
(res
)
return int(operands
[0])
if __name__
== '__main__':
n
=input()
s
=Solution
()
while n
!='END' or n
!='':
if n
=='END' or n
=='':
break
print(s
.calculate
(n
))
n
=input()
识别内网IP
def version(s
):
s
=s
.split
(' ')
s1
=s
[0].split
('.')
s2
=s
[1].split
('.')
print(s1
,s2
)
for i
in range(min(len(s1
),len(s2
))):
if int(s1
[i
])==int(s2
[i
]):
if i
==min(len(s1
),len(s2
))-1:
print('0')
if s1
[i
+1] or s2
[i
+1]:
continue
else:
if int(s1
[i
])>int(s2
[i
]):
print('1')
break
else:
print('-1')
break
s
=input()
version
(s
)
###顺时针打印矩阵
def printMatrix(matrix
):
walked
= [[False] * (len(matrix
[0])+1) for _
in range(len(matrix
)+1)]
for j
in range(len(walked
[-1])):
walked
[-1][j
] = True
for i
in range(len(walked
)):
walked
[i
][-1] = True
len_row
= len(matrix
) - 1
len_col
= len(matrix
[0]) - 1
res
= []
i
= 0
j
= 0
direction
= 0
while not walked
[i
][j
]:
res
.append
(matrix
[i
][j
])
walked
[i
][j
] = True
if direction
== 0:
if j
< len_col
and not walked
[i
][j
+1]:
j
+= 1
else:
direction
= 1
i
+= 1
elif direction
== 1:
if i
< len_row
and not walked
[i
+1][j
]:
i
+= 1
else:
direction
= 2
j
-= 1
elif direction
== 2:
if j
> 0 and not walked
[i
][j
-1]:
j
-= 1
else:
direction
= 3
i
-= 1
elif direction
== 3:
if i
> 0 and not walked
[i
-1][j
]:
i
-= 1
else:
direction
= 0
j
+= 1
return res
n
=input()
n
=input()
m
=[]
while n
!='-1 -1':
n
=n
.split
(' ')
m
.append
(n
)
n
=input()
s
=''
for i
in printMatrix
(m
):
s
+=i
s
+=','
print(s
[:-1])
是否存在和为k的两个数
def find(numbers
,key
):
dirc
= {}
for i
in range(len(numbers
)):
if key
-numbers
[i
] in dirc
:
dirc
[key
-numbers
[i
]] += [i
]
else:
dirc
[key
-numbers
[i
]] = [i
]
for i
in range(len(numbers
)-1):
for j
in range(i
+1,len(numbers
)):
if numbers
[i
] + numbers
[j
] in dirc
:
if i
not in dirc
[numbers
[i
] + numbers
[j
]] and j
not in dirc
[numbers
[i
] + numbers
[j
]]:
return True
num
= input().split
(",")
numbers
= [int(i
) for i
in num
[0].split
()]
key
= int(num
[-1])
print(find
(numbers
, key
))
转载请注明原文地址: https://win8.8miu.com/read-950258.html