A, B, C = sorted(map(int, input().split())) s = input() if s == 'ABC': print(A, B, C) if s == 'ACB': print(A, C, B) if s == 'BAC': print(B, A, C) if s == 'BCA': print(B, C, A) if s == 'CAB': print(C, A, B) if s == 'CBA': print(C, B, A)优化这段代码
时间: 2024-04-10 21:27:59 浏览: 81
对字母和数字排序的c代码
可以通过使用字典或列表来优化这段代码。以下是使用字典来优化的示例:
```python
values = sorted(map(int, input().split()))
order = input()
order_dict = {'ABC': (values[0], values[1], values[2]),
'ACB': (values[0], values[2], values[1]),
'BAC': (values[1], values[0], values[2]),
'BCA': (values[1], values[2], values[0]),
'CAB': (values[2], values[0], values[1]),
'CBA': (values[2], values[1], values[0])}
if order in order_dict:
print(*order_dict[order])
```
使用字典,我们可以将不同的顺序和对应的值存储在一起,然后根据输入的顺序来获取相应的值。
另一种优化方法是使用列表,并使用索引来获取相应的值。以下是使用列表优化的示例:
```python
values = sorted(map(int, input().split()))
order = input()
orders = ['ABC', 'ACB', 'BAC', 'BCA', 'CAB', 'CBA']
order_index = orders.index(order)
if order_index != -1:
if order_index % 2 == 0:
print(values[order_index // 2], values[(order_index // 2) + 1], values[(order_index // 2) + 2])
else:
print(values[(order_index // 2) + 1], values[order_index // 2], values[(order_index // 2) + 2])
```
使用列表,我们可以通过索引直接访问相应的值,而不需要使用多个条件语句来判断。
阅读全文