ooxx7788 发表于 2017-4-23 21:11:47

今日三题 (伪装)

休息天了,没人出题了。我来出点简单的吧!
因为简单,所以多出几个。要求嘛,简洁!
相信周日这简单,快乐的题目,大家都是会的。


第一个,数字反序
Examples:
Input: 21445 Output: 54421

Input: 145263 Output: 654321

Input: 1254859723 Output: 9875543221

第二个,选出与其他数字奇偶性不同的奇(偶)数。


Should return: 11



Should return: 160

因为银行的密码通常是4位或者6位纯数字,那么请你写个函数,来判断输入的字符串是否符合4位或者6位纯数字要求。
validate_pin("1234") == True
validate_pin("12345") == False
validate_pin("a234") == False

**** Hidden Message *****

ButcherRabbit 发表于 2017-4-24 18:02:21

print('每日一问32')
'''
temp = input('Input:')
list1 = []
for i in temp:
    list1.append(i)
list1.sort()
list1.reverse()
#或者用一句list.sort(reverse=True)
print('Output:', ''.join(list1))

'''
'''
temp1 =
temp2 =
def play(temp):
    count1,count2 = 0,0
    for each in temp:
      if each %2 == 0:
            if count1 == 2:
            for j in temp:
                  if j%2 != 0:
                      result = j
                      break
            else:
                count1 += 1
      else:
            if count2 == 2:
            for j in temp:
                  if j%2 == 0:
                      result = j
                      break
            else:
                count2 +=1
    return result
print(temp1)
print(play(temp1))
print(temp2)
print(play(temp2))

'''


temp = input('please input your password:')
try:
    if temp.isdigit() == True and (len(temp) == 4 or len(temp) == 6):
      print('validate_pin("{}")'.format(temp), '== True')
    else:
      print('validate_pin("{}")'.format(temp), '== Flase')
except:
    print('validate_pin("{}")'.format(temp), '== Flase')


代码冗长,已经半个月没写过代码了

新手·ing 发表于 2017-4-24 19:27:35

谢谢你,我最近学业有些繁重,可能一段时间上不了论坛了{:10_250:}。论坛靠你了{:10_256:}

有益 发表于 2017-4-29 18:10:16

第一题

temp = input('inputmuber:')
list1 = list(temp)
list1.sort(reverse=True)
print(list1)

有益 发表于 2017-4-29 18:12:33

我觉得这几道题挺好的,大家多练习啊

有益 发表于 2017-4-29 18:42:37

@gopythoner 有时间来坐坐第二三题吧,我做的调试老不成功

老甲鱼与小甲鱼 发表于 2017-4-29 23:11:57

第三题


def validate_pin(num):
    if num.isdigit() and (len(num) == 4 or len(num) == 6):
      return True
    else:
      return False
num = input('请输入密码:')
print(validate_pin(num))

有益 发表于 2017-5-1 17:22:42

list1 =
list2 =

def oddoreven(listx):
   

    if (listx%2 + listx%2 +listx%2) >= 2:
      #进行奇数偶数队列判断,偶数队列做求余运算只能等于1
      
      for i in listx:
            if i%2 ==0:
                print(i)
            else:
                pass
    else:
      for i in listx:
            if i%2 == 1:
                print(i)
            else:
                pass

oddoreven(list1)
oddoreven(list2)
   

gopythoner 发表于 2017-5-2 10:19:13

本帖最后由 gopythoner 于 2017-5-2 10:23 编辑

有益 发表于 2017-4-29 18:42
@gopythoner 有时间来坐坐第二三题吧,我做的调试老不成功

哇,还有人@我呢,来罗
def test1(num):
newnum = int(str(num)[::-1])
return newnum

def test2(numlist):
a =
b =
c = a if len(a)<len(b) else b
return c

# 两个参数,前面一个是密码,后面一个是密码长度,默认为6
def test3(password,long=6):
if password.isdigit() and len(password)== long:
    print("True")
else:
    print("False")

测试:   
print(test1(123456))
print(test2())
test3("A23456"),test3("123456"),test3("12345")
输出:
654321

False
True
False

gopythoner 发表于 2017-5-2 10:21:09

有益 发表于 2017-5-1 17:22


第二个你想复杂 了,其实就是返回奇数或者偶数中比较少的那一边的数字
def test2(numlist):
a =
b =
c = a if len(a)<len(b) else b
return c

有益 发表于 2017-5-2 11:13:27

gopythoner 发表于 2017-5-2 10:21
第二个你想复杂 了,其实就是返回奇数或者偶数中比较少的那一边的数字

厉害!想的好!

wl1352 发表于 2017-6-12 09:45:49

学习下

〃汐烨グ 发表于 2017-6-12 11:05:26

厉害了

china25qd 发表于 2017-6-12 14:58:17

本帖最后由 china25qd 于 2017-6-12 15:07 编辑

先做个简单的方便看看帖子:
def Reverse(n):
    i = len(n)
    while i:
      i -= 1
      print(n, end = '')

a = input("请输入一串数字:")
Reverse(a)

第三个也挺简单的:
def code(n):
    print(n.isdigit())
    print("长度为:%d" % (len(n)))

a = input("请输入一串数字:")
code(a)

ooxx7788 发表于 2017-6-12 15:49:35

本帖最后由 ooxx7788 于 2017-6-12 15:53 编辑

china25qd 发表于 2017-6-12 14:58
先做个简单的方便看看帖子:




函数尽量已return形式返回值。
第三题要求的也是判断,是否是满足4位,6位纯数字。
而不是随便是个几位的数字就可以。

而且第一题对吗?你这个好像也只实现了反序而已,没有排序吧。

china25qd 发表于 2017-6-12 16:01:47

本帖最后由 china25qd 于 2017-6-12 16:05 编辑

ooxx7788 发表于 2017-6-12 15:49
函数尽量已return形式返回值。
第三题要求的也是判断,是否是满足4位,6位纯数字。
而不是随便是个几 ...

第一题的需求不是要反序吗?
第三题我改下:
def code(n):
    print('true' if n.isdigit() and len(n) == 4 and len(n) == 6 else 'false')

a = input("请输入一串数字:")
code(a)

ooxx7788 发表于 2017-6-12 16:22:02

china25qd 发表于 2017-6-12 16:01
第一题的需求不是要反序吗?
第三题我改下:

仔细看题,第一题,我要求的是从大到小排序数字排序给定数字。
对于你第二次给定的第三题答案,依然是错误的。请自己测试自己的代码对不对。

china25qd 发表于 2017-6-12 16:35:46

本帖最后由 china25qd 于 2017-6-12 16:48 编辑

ooxx7788 发表于 2017-6-12 16:22
仔细看题,第一题,我要求的是从大到小排序数字排序给定数字。
对于你第二次给定的第三题答案,依然是错 ...

是啊,这就对啦,你输入的是4个数字吗?有没有空格?我这边打印出来的是true
我去跑了下,这是打印出的结果:

是否是满足4位,6位纯数字。
这个条件,所以是false啦

至于第一题,你就不能说降序嘛~{:9_230:}
反序当然是输入“123小甲鱼”,输出“鱼甲小321”啦!

(好了不和你究啦~请把需求写严谨,不要模棱两可,不要有歧义,不要自作主张造出反人类的词汇,
像lz这样写需求,在工作的时候会被程序拍砖的!)

ooxx7788 发表于 2017-6-12 16:59:43

china25qd 发表于 2017-6-12 16:35
是啊,这就对啦,你输入的是4个数字吗?有没有空格?我这边打印出来的是true
我去跑了下,这是打印出 ...

你确定你这个答案没改过?

def code(n):
    print('true' if n.isdigit() and len(n) == 4 and len(n) == 6 else 'false')

a = input("请输入一串数字:")
code(a)

你给的这个答案里面true和false都是小写,然后你给出的答案图片里面是大写的True。你跟我说这是你的答案?
而你代码的错误在于逻辑连接符的错误,怎么可能有一个字符串能同时满足len=4同时len=6呢。我不知道你搞什么东西。


第一题的问题,我给出了明确的案例,下面所有的人都能看得懂,就到你这里看不懂,我不知道是我的问题,还是你的问题。你想怎样就怎样吧,不用回复我了。

china25qd 发表于 2017-6-12 17:01:26

其实就第三题而言,最好的办法是
"^code:{4}$" || "^code:{6}$"
如果python能解析的话……就简单了
页: [1] 2
查看完整版本: 今日三题 (伪装)