python中创建一个包含整数元素的列表将其的偶数变成它的平方 奇数不变 并逆序输出
时间: 2024-03-17 12:46:13 浏览: 120
可以使用以下代码实现:
```python
# 创建包含整数元素的列表
num_list = [2, 7, 9, 10, 16, 20]
# 将偶数变成它的平方,奇数不变
new_list = [num**2 if num % 2 == 0 else num for num in num_list]
# 逆序输出
print(new_list[::-1])
```
输出结果为:
```
[400, 256, 100, 10, 7, 4]
```
其中,列表推导式 `[num**2 if num % 2 == 0 else num for num in num_list]` 将原列表中的偶数平方并保留原来的奇数,生成一个新的列表。`[::-1]` 则是将新列表逆序输出。
相关问题
python创建一个包含整数元素的列表,其中偶数变为它的平方,奇数不变,在逆序输出
好的,以下是实现代码:
```python
# 创建包含整数元素的列表
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# 将偶数变为它的平方,奇数不变
for i in range(len(nums)):
if nums[i] % 2 == 0:
nums[i] = nums[i] ** 2
# 逆序输出
nums.reverse()
print(nums)
```
输出结果为:
```
[100, 64, 36, 16, 5, 9, 4, 3, 2, 1]
```
其中,2变成了4,4变成了16,6变成了36,8变成了64,10变成了100。奇数保持不变,如1,3,5,7,9。最后将逆序输出。
1. 其它 第一题、输入一组10个整数,存放在列表numbers中,计算这组数的和、平均值、方差。方差是各个数据分别与其平均数之差的平方的和的平均数。 要求:用两种方法对构建好的列表进行遍历。1、直接遍历列表元素,形式如for item in ls: 2、遍历列表元素的索引,形式如for i in range(len(ls)): 第二题:输入整数构建列表,要求输入的时候,每输入一个整数之后要有是否继续输入的提示(y或n),根据用户选择继续输入或结束输入。然后将列表中的素数存入到一个新列表new中,将列表new中的元素降序排序后输出。 第三题:已知一个数字列表,求列表的中心元素。奇数个数的列表有一个中心元素,偶数个数的列表有两个中心元素。 第四题:输入一组数据保存在列表nums中,不使用reverse()方法,也不允许引入新的列表,将列表nums中的元素逆序输出。 提交
很好,让我来依次回答你的问题。
第一个问题:
假设你已经将这组10个整数存放在列表numbers中,下面是计算和、平均值、方差的代码:
```python
# 计算和
sum_num = sum(numbers)
# 计算平均值
avg_num = sum_num / len(numbers)
# 计算方差
var_num = sum([(x-avg_num)**2 for x in numbers]) / len(numbers)
```
两种方法对构建好的列表进行遍历:
1. 直接遍历列表元素
```python
for num in numbers:
print(num)
```
2. 遍历列表元素的索引
```python
for i in range(len(numbers)):
print(numbers[i])
```
第二个问题:
以下是代码实现:
```python
def is_prime(num):
"""
判断一个数是否为素数
"""
if num <= 1:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
# 输入整数构建列表
nums = []
while True:
num = int(input('请输入一个整数:'))
nums.append(num)
choice = input('是否继续输入?(y/n)')
if choice == 'n':
break
# 将列表中的素数存入到一个新列表new中
new = [num for num in nums if is_prime(num)]
# 将列表new中的元素降序排序后输出
new.sort(reverse=True)
print(new)
```
第三个问题:
以下是代码实现:
```python
def get_middle(nums):
"""
获取列表的中心元素
"""
length = len(nums)
if length % 2 == 0:
# 偶数个数的列表有两个中心元素
return nums[length // 2 - 1:length // 2 + 1]
else:
# 奇数个数的列表有一个中心元素
return [nums[length // 2]]
# 测试
nums = [1, 2, 3, 4, 5]
print(get_middle(nums)) # [3]
nums = [1, 2, 3, 4, 5, 6]
print(get_middle(nums)) # [3, 4]
```
第四个问题:
以下是代码实现:
```python
# 输入一组数据保存在列表nums中
nums = [1, 2, 3, 4, 5]
# 将列表nums中的元素逆序输出
for i in range(len(nums)-1, -1, -1):
print(nums[i])
```
阅读全文