学习是一个逐步发现自己无知的过程!

codewars

计算时间

任务
Clock shows h hours, m minutes and s seconds after midnight.

Your task is to write a function which returns the time since midnight in milliseconds.

  • 时钟在午夜后显示 h 小时、m 分钟和 s 秒。

  • 你的任务是编写一个函数,它以毫秒为单位返回自午夜以来的时间。

例子

h = 0
m = 1
s = 1

result = 61000

输入条件

  • 0 <= h <= 23
  • 0 <= m <= 59
  • 0 <= s <= 59

解析

一小时 等于 60 分钟 等于 3600 秒

一分钟 等于 60 秒

一秒 等于1000 毫秒

代码

import time

t = time.localtime()
h = t.tm_hour
m = t.tm_min
s = t.tm_sec

def past(h, m, s):
    return (3600 * h + 60 * m + s) * 1000

'''更完善的版本'''
def past(h, m, s):
    if 0 <= h <= 23 or 0 <= m <= 59 or 0 <= s <= 59:
        x = h * 3600000
        y = m * 60000
        z = s * 1000
        total = x + y + z
        return(total)
    else:
        return("Please input an hour between 0 and 23 and a minute or second inbetween 0 and 59.")

句子粉粹

任务

编写一个函数,该函数采用一组单词,并将它们拼凑成一个句子并返回该句子。您可以忽略任何清理单词或添加标点符号的需要,但您应该在每个单词之间添加空格。小心,句子的开头或结尾不应该有空格!

例子

['hello', 'world', 'this', 'is', 'great']  =>  'hello world this is great'

代码

def smash(words):
    str1 = ""
    for word in words:
        str1 += word
        if words[len(words) -1 ] != word:
            str1 += " "
    return str1

----------- 方法2

def smash(words):
    return " ".join(words).strip()

----------- 方法3

def smash(words):
    sent = ""
    for str1 in range(len(words)):
        if str1 != len(words) - 1:
            sent += words[str1] + " "
        else:
            sent += words[str1]
    return sent

设置闹钟

任务

编写一个名为 setAlarm 的函数,它接收两个参数。第一个参数,employed,在你受雇时为真,第二个参数,vacation,在你休假时为真。

如果您受雇而不是休假,该函数应该返回 true(因为在这些情况下您需要设置警报)。否则它应该返回 false

例子

setAlarm(true, true) -> false
setAlarm(false, true) -> false
setAlarm(false, false) -> false
setAlarm(true, false) -> true

代码

def set_alarm(employed, vacation):
    alarm = False
    if employed is True and vacation is False:
        alarm = True
    return alarm

-------- 方法2

def set_alarm(employed, vacation):
    return employed==True and vacation==False

-------- 方法3

def set_alarm(employed, vacation):
    if employed:
        if vacation:
            return False
        return True
    return False

对应数字

任务

很简单,给定一个整数或一个浮点数,找到它的反面。

示例

1: -1
14: -14
-34: 34

代码

def opposite(number):
  return -number

排除最大最小进行求和

任务

对给定数组( cq.list )的所有数字求和,除了最高和最低元素(按值,而不是按索引!)。

最高或最低元素分别是每条边上的单个元素,即使有多个具有相同值的元素。

注意输入验证。

示例

{ 6, 2, 1, 8, 10 } => 16
{ 1, 1, 11, 2, 3 } => 6

条件

如果给出了一个空值(null、None等Nothing)而不是一个数组,或者给定的数组是一个空列表或只有1元素的列表,则返回0。

代码

def sum_array(arr):
    if arr == None or len(arr) < 2:
        return 0
    return sum(arr) - max(arr) - min(arr)

---------

def sum_array(arr):
    try:
        arr.remove(max(arr))
        arr.remove(min(arr))
        return sum(arr)
    except:
        return 0

---------

def sum_array(arr):
    return sum(sorted(arr)[1:-1]) if arr else 0

条件判断,找到x

任务

您将获得一个数组 a 和一个值 x。您需要做的就是检查提供的数组是否包含该值。 数组可以包含数字或字符串。X 可以是其中之一。 如果数组包含值,则返回 true;如果不包含值,则返回 false

代码

def check(seq, elem):
    return elem in seq

--------

def check(seq, elem):
    return True if elem in seq else False

--------

def check(seq, elem):
    for i in seq:
        if i == elem:
            return True
    return False

反转任意字符,保留空格

任务

完成接受字符串参数的函数,并反转字符串中的每个单词。应保留字符串中的所有空格。

示例

"This is an example!" ==> "sihT si na !elpmaxe"
"double  spaces"      ==> "elbuod  secaps"

代码

def reverse_words(text):
    tmps = []
    for words in text.split(' '):
        tmps.append(words[::-1])
    return ' '.join(tmps)

一个正方形的正方形

你喜欢积木。你特别喜欢正方形的积木。而你更喜欢的是将它们排列成一个正方形的方形积木!

但是,有时,您无法将它们排列成正方形。相反,您最终会得到一个普通的矩形!那些该死的东西!如果您只是有办法知道,您目前是否在徒劳地工作……等等!而已!你只需要检查你的积木数量是否是一个完美的正方形

任务

给定一个整数,判断它是否为平方数

在数学中,平方数完全平方是整数,它是整数的平方;换句话说,它是某个整数与自身的乘积。

测试总是使用一些整数,所以在动态类型语言中不用担心。

例子

-1  =>  false
 0  =>  true
 3  =>  false
 4  =>  true
25  =>  true
26  =>  false

代码

def is_square(n):
    if n < 0:
        return False
    elif n == 0:
        return True
    else:
        i = 1
        while i < n:
            m = i * i
            if m == n:
                return True
            elif m > n:
                return False
            else:
                i += 1
--------
import math
def is_square(n):
    return n > -1 and math.sqrt(n) % 1 == 0;
赞(0)
未经允许不得转载:劉大帥 » codewars

你的评论可能会一针见血! 抢沙发

登录

找回密码

注册