鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: ooxx7788

[技术交流] 今日三题 (伪装)

[复制链接]
发表于 2017-6-20 17:48:36 | 显示全部楼层
第一题用切片的逆向
num = input("输个数字进来呗,帮你翻转过来哦:")
print(num[::-1])
第二题用了过滤器,写复杂了
# 写复杂了,不如用推导式
a = [160, 3, 1719, 19, 11, 13, -21,180]
b = list(filter(lambda x: x%2, a))
print(*(b if len(b)< len(a)/2 else set(a).difference(set(b))))
第三题用字符串的方法
# 写成这样也可以    
def validate_pin(string):
    return True if string.isdigit() and len(string) in [4,6] else False
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-14 12:49:32 | 显示全部楼层
本帖最后由 bozhen 于 2017-8-14 13:04 编辑

第一题:
num_str = input('请输入一串数字:')
num_list = list(num_str)
num_list.sort(reverse = True) # 从大到小排序
print(*num_list)

第二题:
def getOdd_Even(list_num):
    list_odd = []
    list_even = []
    for each in list_num:
        if not each % 2 :
            list_even.append(each)
        else:
            list_odd.append(each)

    if len(list_even) == 1:    # 我理解的题意是不同的数字只有一个,如果非一个,则比较len(list_even) 与len(list_odd)的大小,输入小的那个序列
        return print(*list_even)
    if len(list_odd) == 1:
        return print(*list_odd)
        
list_num = [2, 4, 0, 100, 4, 11, 2602, 36]
getOdd_Even(list_num)

第三题:
def checkPasswd(string):
    lenth = len(string)
    if (lenth == 4 or lenth == 6)  and string.isdigit():
        return True
    else:
        return False

passwd = ['1234','12345','a234']
for each in passwd:
    if checkPasswd(each): # 如果返回值为True,则打印
        print(each)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-20 14:33:21 | 显示全部楼层
tmp = [int(x) for x in input('输入数字,以逗号分隔').split(',')]
L1 = [i for i in tmp if i%2 == 0]
L2 = [i for i in tmp if i%2 != 0]
result = L1 if len(L1)<len(L2) else L2
print(*result)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-9-20 15:10:29 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-3-6 08:59:25 | 显示全部楼层
学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-18 21:16:44 | 显示全部楼层
01
def decending(num):
    st = str(num)
    lis = list(st)
    lis.sort()
    lis.reverse()
    st = ''
    for i in lis:
        st = st + ''.join(i)
    return st
n = int(input('请输入自然数:\n'))
print(decending(n))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-18 21:17:23 | 显示全部楼层
02
def different(lis):
    lis1 = []
    for i in lis:
        if i % 2 == 0:
            lis1.append(0)
        else:
            lis1.append(1)
    if lis1.count(0) < lis1.count(1):
        return lis[lis1.index(0)]
    else:
        return lis[lis1.index(1)]
lst1 = [4, 0, 100, 4, 11, 2, 2602, 36]
lst2 = [3, 1719, 160, 19, 11, 13, -21]
print(different(lst1))
print(different(lst2))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-18 21:18:01 | 显示全部楼层
03
def validate_pin(st):
    if st.isdigit() == True and (len(st) == 4 or len(st) == 6):
        return 'True'
    else:
        return 'False'
st1 = input('please input your pin:\n')
print(validate_pin(st1))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-5-25 16:30:25 | 显示全部楼层
还可以
## 数字反序
x = input('Input:')
if x.isdigit():
    x = x[::-1]
    print('Output:%s' %x)
else:
    print('输入有误!')

## 选出与其他数字奇偶性不同的奇(偶)数
x = input('请输入数组:')
x = list(map(int,x.split()))
a = []
b = []
for i in range(len(x)):
    if x[i] % 2 == 0:
        a.append(x[i])
    else:
        b.append(x[i])
if len(a) == 1:
    print(a[0])
elif len(b) == 1:
    print(b[0])
else:
    print('输入有误!')

## 因为银行的密码通常是4位或者6位纯数字,那么请你写个函数,来判断输入的字符串是否符合4位或者6位纯数字要求。
while True:
    x = input('请输入密码:')
    if x.isdigit():
        if len(x) == 4 or len(x) == 6 :
            print('True')
            break
        else:
            print('密码必须是四位或八位!')
    else:
        print('密码须为纯数字!')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-25 17:17:48 | 显示全部楼层
'''第一个,数字反序'''
num = list(input('Pls enter a number:'))
num.sort()
num.reverse()
print(''.join(num))
'''第二个,选出与其他数字奇偶性不同的奇(偶)数。'''
num=list(input('请输入几个整数,我可以选出其中奇偶不同的一个:').split())
num =[int(each) for each in num]
ji=[]
ou=[]
for each in num:
    if each%2==0:
        ou.append(each)
    else:
        ji.append(each)
if len(ji)>len(ou):
    print(ou)
else:
    print(ji)
'''因为银行的密码通常是4位或者6位纯数字,那么请你写个函数,
来判断输入的字符串是否符合4位或者6位纯数字要求。'''
def validate_pin(code):
    a = 0
    for each in code:
        if each.isnumeric():
            a+=1
        else:
            break
    if a==4 or a==6:
        return True
    else:
        return False
print(validate_pin('1234'))
print(validate_pin("12345"))
print(validate_pin("a234"))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-26 14:08:43 | 显示全部楼层
感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-12-11 10:26:20 | 显示全部楼层
1
nums = list(input("Input:  "))
nums.reverse()
a = ''
for i in nums:
    a += i
print("Output: %s"%a)

2
nums = input("输入一组数字(有且只有一个奇数或偶数,以,分隔每个数字): ").split(',')
j = []
o = []
for i in nums:
    i = int(i)
    if i % 2 == 0:
        o.append(i)
    if i % 2 != 0:
        j.append(i)
if len(j) == 1:
    print("Should return:%d"%j[0])
if len(o) == 1:
    print("Should return:%d"%o[0])

3
def validate_pin(n):
    if n.isdigit() and (len(n) == 4 or len(n) == 6):
        return True
    else:
        return False
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-1 19:58:58 | 显示全部楼层
lambda x:int(str(x)[::-1])
def func(l):
  a=[i for i in l if i%2==0]
  return a[0]if len(a)==1 else [i for i in l if i%2!=0][0]
lambda x:True if x.isdigit and(len(str(x))in(4,6))else False
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-29 12:10:01 | 显示全部楼层
int func(int n) {
    int res = 0;
    while (n) {
        res += n % 10;
        n /= 10;
    }
    return res;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-13 17:04:18 | 显示全部楼层
第一题:
# 数字反序
num_list = []
num = input('Input:')
for each in num:
    num_list.append(each)
num_list.reverse()

print('Output:',end='')
for each in num_list:
    print(each,end='')

第二题:
# 判别奇偶
list_num = list(input('请输入一列数据:').split(','))
num_odd = []
num_even = []
for each in list_num:
    if int(each)%2 == 0:
        num_even.append(each)
    else:
        num_odd.append(each)

print('should return:',end='')
if len(num_odd) == 1:
    print('%s'%num_odd[0])
else:
    print('%s'%num_even[0])

第三题:
# 判断密码格式正确与否
def validate_pin(n):
    pin_length = len(n)
    if not n.isdigit():
        print('validate_pin("%s")'%n,'==False')
    else:
        if pin_length == 4 or pin_length == 6:
            print('validate_pin("%s")'%n,'== True')
        else:
            print('validate_pin("%s")'%n,'==False')

validate_pin('a11111')
validate_pin('1209888')
validate_pin('2341')
validate_pin('123456')

结果:
validate_pin("a11111") ==False
validate_pin("1209888") ==False
validate_pin("2341") == True
validate_pin("123456") == True
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-13 20:28:00 | 显示全部楼层
第一题:
print(input('请输入字符串:')[::-1])
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-14 10:16:59 | 显示全部楼层
s = list(raw_input())
s.reverse()
print "".join(s)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-17 21:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表