360编程题
第一题:
#!/bin/python
# -*- coding: utf8 -*-
import sys
import os
import re
# 请完成下面这个函数,实现题目要求的功能
# 当然,你也可以不按照下面这个模板来作答,完全按照自己的想法来 ^-^
# ******************************开始写代码******************************
def string2int(str):
check = ''
if '.' in str:
#小数
arr = str.split('.')
for con in arr:
if con.isdigit():
check+='1'
else:
check+='2'
for i in check:
if i != '1':
return 0
if len(arr) == 2:
num = arr[0]
return int(num)
else:
#不合法,包含多个点的情况
return 0
else:
#整数
is_num = re.findall('\d', str)
if len(str) != len(is_num):
return 0
if len(str) == 0:
return 0
return int(str)
# ******************************结束写代码******************************
try:
_str = input()
except:
_str = None
res = string2int(_str)
print(str(res) + "\n")
第二题:
#!/bin/python # -*- coding: utf8 -*-
import sys
import os
import re
# 请完成下面这个函数,实现题目要求的功能 # 当然,你也可以不按照下面这个模板来作答,完全按照自己的想法来 ^-^
# ******************************开始写代码******************************
def f(num):
c = 0
temp = num % 3
if temp == 0:
c += 1
# c = math.log(num, 3)
c += f(num // 3)
return c # res =f(6) # print(res)
def main():
n = int(input())
arr = input().split(' ')
arr_num = list(map(int, arr))
res_num = []
for num in arr_num:
res_num.append(f(num))
res_num = list(map(int, res_num))
return sum(res_num)
# ******************************结束写代码******************************
res = main()
print(str(res) + "\n")
#360公司##笔试题目#
