每日一练 — 2022.01.21


一,列表奇偶拆分

1,程序简介

【问题描述】

  • 输入一个列表,包含若干个整数(允许为空),然后将其中的奇数和偶数单独放置在一个列表中,保持原有顺序

【输入形式】

【输出形式】

  • 分两行输出,第一行输出偶数序列,第二行输出奇数序列

【样例输入1】

  • [48,82,47,54,55,57,27,73,86,14]

【样例输出1】

  • 48, 82, 54, 86, 14
  • 47, 55, 57, 27, 73

【样例输入2】

  • [10, 22, 40]

【样例输出2】

  • 10, 22, 40
  • NONE

【样例说明】

  • 如果奇偶拆分后,奇数列表,或者偶数列表为空,请直接输出NONE表示

以下程序实现了这一功能,请你填补空白处内容:

x = input()
x1 = x.strip('[]')  
x2 = x1.split(",")  
a = []
b = []
for i in x2:
	______________;
if a == []:
	print("NONE")
else:
	print(a)
if b == []:
	print("NONE")
else:
	print(b)

2,程序代码

# -*- coding: utf-8 -*-
"""
Created on Fri Jan 21 22:32:34 2022
Function: 列表奇偶拆分
@author: 小梁aixj
"""
x = input()
x1 = x.strip('[]')  
x2 = x1.split(",")  
a = []
b = []
for i in x2:
    
  if int(i) % 2 == 0:
	  a.append(i)
  else:
	  b.append(i)

if a == []:
	print("NONE")
else:
	print(a)
if b == []:
	print("NONE")
else:
	print(b)

#[48,82,47,54,55,57,27,73,86,14]

3,运行结果

在这里插入图片描述

二,计算出因子里面4和7的个数

1,程序简介

  • 输入一个正数n,计算出因子里面分别有几个4和7,输出因子中4和7的个位数

以下程序实现了这一功能,请你填补空白处内容:

n = int(input("输入数字:"))
factor = [n]   
num = 1
__________________;
print(factor)
m = [str(i) for i in factor]
count4 = 0
count7 = 0
for i in m:
	if '4' in i:
		count4 += 1
		print('以4结尾的因子的个位数:', int(i)%10)
	if '7' in i:
		count7 += 1
		print('以7结尾的因子的个位数:', int(i)%10)
print('因子里面分别有{0}个4和{1}个7'.format(count4,count7))

2,程序代码

# -*- coding: utf-8 -*-
"""
Created on Fri Jan 21 22:39:18 2022
Function: 计算出因子里面4和7的个数
@author: 小梁aixj
"""
n = int(input("输入数字:"))
factor = [n]   
num = 1

while num <= n/2+1:
	if n % num == 0:
		factor.append(num)
	num = num + 1

print(factor)
m = [str(i) for i in factor]
count4 = 0
count7 = 0
for i in m:
	if '4' in i:
		count4 += 1
		print('以4结尾的因子的个位数:', int(i)%10)
	if '7' in i:
		count7 += 1
		print('以7结尾的因子的个位数:', int(i)%10)
print('因子里面分别有{0}个4和{1}个7'.format(count4,count7))

3,运行结果

在这里插入图片描述

三,全排列

1,程序简介

  • 给定一个 没有重复 数字的序列,返回其所有可能的全排列。

示例:

  • 输入: [1,2,3]
  • 输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]]

2,程序代码

# -*- coding: utf-8 -*-
"""
Created on Fri Jan 21 22:44:29 2022
Function: 全排列
@author: 小梁aixj
"""
class Solution:
     def permute(self, nums):
            e=[]
            if(len(nums)==1):
                return [nums]
            for i in range(len(nums)):
                q=self.permute(nums[:i]+nums[i+1:])
                for c in q:
                    e.append([nums[i]]+c)
            return e
# %%
s = Solution()
print(s.permute(nums = [1,2,3]))

#输出:[[1,2,3],  [1,3,2],  [2,1,3],  [2,3,1],  [3,1,2],  [3,2,1]]

3,运行结果

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梁辰兴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值