1)(北京理工大学往年上机复试真题回忆版)写一个程序判断字符串中数字的位置。
时间: 2024-10-23 21:05:06 浏览: 3
在Python中,你可以编写一个函数来实现这个功能,该函数会接受一个字符串作为输入,并返回一个包含所有数字及其位置的列表。下面是一个简单的示例:
```python
def find_numbers_positions(input_string):
positions = []
for index, char in enumerate(input_string):
if char.isdigit(): # 判断字符是否为数字
positions.append((index, char)) # 如果是数字,则添加位置和数字到列表
return positions
# 示例用法
string = "abc123def456"
print(find_numbers_positions(string))
```
在这个函数中,`enumerate` 函数用于同时获取字符和其索引,`isdigit()` 方法检查字符是否为数字。运行此程序将得到如 `(0, '1')`, `(2, '2')`, `(5, '3')`, `(8, '4')`, `(11, '5')`, `(14, '6')` 这样的元组,表示每个数字及其在原字符串中的位置。
相关问题
(2)(北京理工大学往年上机复试真题)输入任意4个字符(如:abcd),并按反序输出(如:dcba)。
在计算机编程中,当你需要处理字符串反转的问题时,可以使用循环结构或者现成的字符串操作函数来实现。下面是一个简单的Python示例,展示了如何接收用户输入的四个字符,并按照相反的顺序打印出来:
```python
# 输入四个字符
input_str = input("请输入四个字符:")
# 反转字符串
reversed_str = input_str[::-1]
# 输出反转后的字符串
print("反转后的字符串为:", reversed_str)
```
如果你想在Java中实现同样功能,你可以这样做:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入四个字符:");
String inputStr = scanner.next(); // 获取用户输入
StringBuilder reversedStr = new StringBuilder(inputStr);
reversedStr.reverse();
System.out.println("反转后的字符串为:" + reversedStr.toString());
}
}
```
(南京理工大学复试上机往年真题)A、B、C、D、E、F、G分别代表1000,500,100,50,10,5,1,给定一个字符串如ABC,求出它的值。(ABC=1000+500+100)(20分)
这道题目考察的是字符串转换成数值的基本计算能力,通常会涉及到基础的编程操作。具体步骤如下:
1. 首先,你需要遍历输入的字符串,比如 "ABC" 这样每个字符都代表一个数字。
2. 对于每一个字符,找到它在对应数字序列(A-G对应的数值)中的位置。例如,字母"A"的位置是1,"B"的位置是2,依此类推。
3. 然后将字符的位置值乘以其在原始数字序列中的对应数值。对于 "ABC",就是 1*1000 + 2*500 + 3*100。
4. 将每个字符处理后的结果相加,得到最终的结果。
如果你需要在Python中解决这个问题,可以用下面的简单示例代码:
```python
def value_of_string(s):
values = {'A': 1000, 'B': 500, 'C': 100, 'D': 50, 'E': 10, 'F': 5, 'G': 1}
total = sum([values[char] for char in s])
return total
# 测试
print(value_of_string("ABC")) # 输出:1600
```
阅读全文