
Python每日练习(14)-单行代码实现多种功能
5星
- 浏览量: 0
- 大小:None
- 文件类型:PDF
简介:
本篇教程介绍了如何利用Python编写简洁高效的单行代码来完成多项任务,适合希望提高编码技巧和学习Python高级用法的读者。
在Python编程语言中,简洁和高效是其显著特点。通过巧妙地运用内置函数、列表推导式、字符串格式化以及循环等语法结构,往往可以用极短的代码完成复杂的任务。以下是一些用一行代码实现的功能示例,这些例子旨在展示Python的灵活性和可读性。
1. **一行代码输出1~100个数**:
```python
print(*range(1, 101))
```
这行代码利用`range()`生成一个包含1到100的整数序列,并通过`*`操作符将其展开成独立的参数,然后`print()`函数将其逐个输出。
2. **一行代码输出所有大写字母**:
```python
print(.join(chr(i) for i in range(65, 91)))
```
`chr()`函数将数字转换为对应的ASCII字符,这里从65(大写A)到90(大写Z)。
3. **一行代码输出20以内的奇数**:
```python
print(*[i for i in range(1, 21) if i % 2 != 0])
```
使用列表推导式生成奇数列表,然后展开并打印。
4. **一行代码计算1~100的和**:
```python
print(sum(range(1, 101)))
```
`sum()`函数用于计算序列的总和。
5. **一行代码算指定数之间的和**:
```python
a, b = 1, 10
print(sum(range(a, b + 1)))
```
只需将起始和结束值替换为需要的数值即可。
6. **一行代码输出1~50的三位编号**:
```python
print( .join(f{i:03d} for i in range(1, 51)))
```
`f-string`格式化输出三位数,`03d`表示至少三位,不足用0填充。
7. **一行代码打印九九乘法表**:
```python
for i in range(1, 10): print( .join(f{j}x{i}={i*j} for j in range(1, i+1)))
```
利用嵌套循环生成乘法表格的每一行。
8. **一行代码输出阵列迷宫**:
这个功能需要具体定义迷宫的结构,可以使用字符串模板生成。
9. **一行代码情人节画爱心表白**:
```python
print(\n.join([ * (i - j) + * * (2 * j - 1) + * (i - j) for i in range(1, 9) for j in range(i)]))
```
这个例子生成了一个简单的爱心图案。
10. **一行代码对字典排序并输出新字典**:
```python
d = {key1: 3, key2: 1, key3: 2}
print({k: v for k, v in sorted(d.items(), key=lambda item: item[1])})
```
使用`sorted()`函数结合`lambda`表达式对字典按值排序。
11. **一行代码求出列表中大于10的元素**:
```python
l = [5, 12, 3, 18, 7]
print([x for x in l if x > 10])
```
列表推导式筛选出大于10的元素。
12. **一行代码把一个元素全为数字的列表中的所有偶数加1**:
```python
l = [2, 4, 6, 8, 10]
print([x + 1 if x % 2 == 0 else x for x in l])
```
对偶数元素加1,奇数元素保持不变。
13. **一行代码构造18个不同城市的url**:
```python
cities = [Beijing, Shanghai, Guangzhou] # 假设你有18个城市名
print([fhttps://www.example.com/{city} for city in cities])
```
使用`format()`函数构造URL,这里仅展示了三个城市作为示例。
14. **一行代码输出矩形**:
```python
w, h = 10, 5
print(\n.join([* * w for _ in range(h)]))
```
生成一个宽度为w、高度为h的星号矩形。
这些例子展示了Python在处理序列、控制流、字符串格式化等方面的强大能力,同时也体现了其代码的可读性和简洁性。在实际编程中,根据需求调整这些代码,可以快速实现各种实用功能。
全部评论 (0)


