鱼C论坛

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

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

[复制链接]
发表于 2017-6-20 17:48:36 | 显示全部楼层
第一题用切片的逆向

  1. num = input("输个数字进来呗,帮你翻转过来哦:")
  2. print(num[::-1])
复制代码

第二题用了过滤器,写复杂了
  1. # 写复杂了,不如用推导式
  2. a = [160, 3, 1719, 19, 11, 13, -21,180]
  3. b = list(filter(lambda x: x%2, a))
  4. print(*(b if len(b)< len(a)/2 else set(a).difference(set(b))))
复制代码

第三题用字符串的方法
  1. # 写成这样也可以   
  2. def validate_pin(string):
  3.     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 编辑

第一题:
  1. num_str = input('请输入一串数字:')
  2. num_list = list(num_str)
  3. num_list.sort(reverse = True) # 从大到小排序
  4. print(*num_list)
复制代码


第二题:

  1. def getOdd_Even(list_num):
  2.     list_odd = []
  3.     list_even = []
  4.     for each in list_num:
  5.         if not each % 2 :
  6.             list_even.append(each)
  7.         else:
  8.             list_odd.append(each)

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


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

  7. passwd = ['1234','12345','a234']
  8. for each in passwd:
  9.     if checkPasswd(each): # 如果返回值为True,则打印
  10.         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
  1. def decending(num):
  2.     st = str(num)
  3.     lis = list(st)
  4.     lis.sort()
  5.     lis.reverse()
  6.     st = ''
  7.     for i in lis:
  8.         st = st + ''.join(i)
  9.     return st
  10. n = int(input('请输入自然数:\n'))
  11. print(decending(n))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

  8. ## 选出与其他数字奇偶性不同的奇(偶)数
  9. x = input('请输入数组:')
  10. x = list(map(int,x.split()))
  11. a = []
  12. b = []
  13. for i in range(len(x)):
  14.     if x[i] % 2 == 0:
  15.         a.append(x[i])
  16.     else:
  17.         b.append(x[i])
  18. if len(a) == 1:
  19.     print(a[0])
  20. elif len(b) == 1:
  21.     print(b[0])
  22. else:
  23.     print('输入有误!')

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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


2
  1. nums = input("输入一组数字(有且只有一个奇数或偶数,以,分隔每个数字): ").split(',')
  2. j = []
  3. o = []
  4. for i in nums:
  5.     i = int(i)
  6.     if i % 2 == 0:
  7.         o.append(i)
  8.     if i % 2 != 0:
  9.         j.append(i)
  10. if len(j) == 1:
  11.     print("Should return:%d"%j[0])
  12. if len(o) == 1:
  13.     print("Should return:%d"%o[0])
复制代码


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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

  7. print('Output:',end='')
  8. for each in num_list:
  9.     print(each,end='')
复制代码


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

  10. print('should return:',end='')
  11. if len(num_odd) == 1:
  12.     print('%s'%num_odd[0])
  13. else:
  14.     print('%s'%num_even[0])
复制代码


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

  11. validate_pin('a11111')
  12. validate_pin('1209888')
  13. validate_pin('2341')
  14. validate_pin('123456')
复制代码


结果:
  1. validate_pin("a11111") ==False
  2. validate_pin("1209888") ==False
  3. validate_pin("2341") == True
  4. 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, 2024-4-19 15:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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