输入任意包含大小写字母的字符串,将其中的大小写字母转换为小写,并将原小写字母转为大写不用内置函数
时间: 2024-02-12 11:05:34 浏览: 150
好的,以下是 Python 代码实现:
```python
s = input("请输入字符串:")
new_s = ""
for c in s:
if c.islower():
new_s += c.upper()
elif c.isupper():
new_s += c.lower()
else:
new_s += c
print(new_s)
```
以上代码中,首先通过 `input()` 函数获取用户输入的字符串,并创建一个空字符串 `new_s` 用于存储转换后的字符串。然后使用 `for` 循环遍历输入字符串中的每一个字符,如果该字符是小写字母,则将其转换为大写并添加到 `new_s` 中;如果该字符是大写字母,则将其转换为小写并添加到 `new_s` 中;否则直接将该字符添加到 `new_s` 中。最后输出转换后的字符串。
相关问题
输入任意包含大小写字母的字符串,将其中的大小字母转为小写,并将原小写字母转为大写(不用内置函数)。例如:输入"34AB,;dj”,输出“34ab,;DJ”。用python怎么写
你可以使用Python中的循环来遍历字符串中的每个字符,并使用内置的isupper()和islower()方法来检查字符是否为大写或小写。然后,使用内置的ord()和chr()方法将字符转换为其ASCII码,并添加或减去相应的值来改变大小写。下面是实现这个功能的示例代码:
```python
str = "34AB,;dj"
new_str = ""
for char in str:
if char.isupper():
new_str += chr(ord(char) + 32)
elif char.islower():
new_str += chr(ord(char) - 32)
else:
new_str += char
print(new_str)
```
输出结果为:34ab,;DJ
从键盘输入一串大小写字母混合的字符串,将其中的所有小写字母转换成大写字母,大写字母转换成小写字母,并将转换后的小写字母和大写字母分别存入不同的文件中。
### 回答1:
题目:从键盘输入一个串,大、小写字母混合的字符串,将其中的所有小写字母转换成大写字母,大写字母转换成小写字母,并将转换后的小写字母和大写字母分别存入不同的文件中。
答案:这道题目要求我们将输入的字符串中的大小写字母互相转换,并将转换后的小写字母和大写字母分别存放到不同的文件中。
首先,我们需要一个可以读取用户输入的函数,比较方便的方法是使用Python内置的input函数,它可以接收用户的输入并返回一个字符串类型的值。然后我们要对这个字符串进行处理,将其中的大小写字母互相转换,可以使用Python字符串类型的内置方法upper和lower实现。
接下来,我们需要将转换后的结果分别保存到不同的文件中。可以使用Python内置的open函数打开文件进行读写操作,使用write方法将字符串写入到文件中。至此,我们的问题得到了解决。
具体实现的代码如下所示:
### 回答2:
这个任务可以分为三个步骤。第一步是从键盘输入一串大小写字母混合的字符串,这可以通过使用Python自带的input函数实现。我们可以使用以下代码:
```
input_str = input("请输入字符串:")
```
第二步是将其中的小写字母转换成大写字母,大写字母转换成小写字母。这可以通过使用Python自带的字符串函数str.upper()和str.lower()实现。我们可以使用以下代码:
```
upper_str = input_str.lower()
lower_str = input_str.upper()
```
第三步是将转换后的小写字母和大写字母分别存入不同的文件中。这可以通过使用Python内置的文件操作函数实现。我们可以使用以下代码:
```
# 打开文件,以写入方式打开
upper_file = open("upper.txt", "w")
lower_file = open("lower.txt", "w")
# 写入文件
upper_file.write(upper_str)
lower_file.write(lower_str)
# 关闭文件
upper_file.close()
lower_file.close()
```
以上三步组合在一起,就可以实现从键盘输入一串大小写字母混合的字符串,将其中的所有小写字母转换成大写字母,大写字母转换成小写字母,并将转换后的小写字母和大写字母分别存入不同的文件中了。完整代码如下:
```
input_str = input("请输入字符串:")
upper_str = input_str.lower()
lower_str = input_str.upper()
# 打开文件,以写入方式打开
upper_file = open("upper.txt", "w")
lower_file = open("lower.txt", "w")
# 写入文件
upper_file.write(upper_str)
lower_file.write(lower_str)
# 关闭文件
upper_file.close()
lower_file.close()
```
### 回答3:
在编写程序时,需要使用文件操作函数以及字符转换函数。可以先让用户输入字符串,然后遍历字符串中的每个字符,通过islower()函数判断是否为小写字母,如果是,则通过toupper()函数将其转换为大写字母,并存入一个新的字符串中;如果不是,则将其转换为小写字母,并存入另一个新的字符串中。最后将两个新字符串分别写入不同的文件中即可。
具体实现步骤如下:
首先,需要使用头文件stdio.h和ctype.h,分别包含文件操作函数和字符转换函数,以及确定文件名和编写读写权限:
#include <stdio.h>
#include <ctype.h>
#define FILE1 "lowercase.txt"
#define FILE2 "uppercase.txt"
#define MODE "w"
接下来,定义一个函数将字符串中的小写字母转换成大写字母,将其存入一个新字符串中:
char* to_upper(char* str) {
int len = strlen(str);
char* new_str = (char*) malloc(len+1);
for(int i=0; i<len; i++) {
if(islower(str[i]))
new_str[i] = toupper(str[i]);
else
new_str[i] = str[i];
}
new_str[len] = '\0';
return new_str;
}
同样地,定义另一个函数将字符串中的大写字母转换成小写字母,将其存入另一个新字符串中:
char* to_lower(char* str) {
int len = strlen(str);
char* new_str = (char*) malloc(len+1);
for(int i=0; i<len; i++) {
if(isupper(str[i]))
new_str[i] = tolower(str[i]);
else
new_str[i] = str[i];
}
new_str[len] = '\0';
return new_str;
}
最后,在主函数中,读入字符串,分别调用to_upper()和to_lower()函数获得新字符串并将其写入不同的文件中:
int main() {
char str[100];
printf("请输入字符串:");
gets(str);
char* upper_str = to_upper(str);
char* lower_str = to_lower(str);
FILE* fp1 = fopen(FILE1, MODE);
FILE* fp2 = fopen(FILE2, MODE);
fputs(upper_str, fp1);
fputs(lower_str, fp2);
fclose(fp1);
fclose(fp2);
free(upper_str);
free(lower_str);
return 0;
}
这样,程序就完成了从键盘输入一串大小写字母混合的字符串,将其中的所有小写字母转换成大写字母,大写字母转换成小写字母,并将转换后的小写字母和大写字母分别存入不同的文件中的功能。
阅读全文