if ch =="\n" : 这句判断语句错在哪
时间: 2024-03-24 07:37:43 浏览: 15
这句判断语句中,应该使用双等号(==)进行比较操作,而不是单个等号(=)进行赋值操作。因为单个等号(=)是赋值操作,将右边的值赋给左边的变量,而双等号(==)才是比较操作,用于判断左右两边的值是否相等。因此,正确的写法应该是:
```
if ch == "\n":
# do something
```
这样才能正确判断变量 ch 的值是否等于换行符 "\n"。
相关问题
有如下代码,程序执行结果是( )。 for ch in 'PYTHON STRING': if ch == ' ': break print(ch, end='') if ch == 'O': continue
这段代码的执行结果是:
```
PYT
```
循环开始时,ch被赋值为'P',然后进入循环体。由于'P'不等于空格符,所以不会执行break语句,而是执行print语句,输出'P'。接着,判断语句if ch == 'O'也为False,因此不会执行continue语句,而是继续执行循环的下一次迭代。
第二次迭代时,ch被赋值为'Y',同样不等于空格符,因此执行print语句,输出'Y'。if判断语句为False,不执行continue语句。
第三次迭代时,ch被赋值为'T',同样不等于空格符,因此执行print语句,输出'T'。if判断语句为False,不执行continue语句。
第四次迭代时,ch被赋值为'H',同样不等于空格符,因此执行print语句,输出'H'。if判断语句为False,不执行continue语句。
第五次迭代时,ch被赋值为'O',同样不等于空格符,因此执行print语句,输出'O'。此时if判断语句为True,执行continue语句,跳过后面的print语句,继续执行下一次迭代。
第六次迭代时,ch被赋值为'N',同样不等于空格符,因此执行print语句,输出'N'。if判断语句为False,不执行continue语句。
第七次迭代时,ch被赋值为' ',等于空格符,因此执行break语句,跳出循环。因此,最终输出的结果是'PYT'。
优化代码 filename input ("请输入文件名:\ n ") fp = open ( filename , W ch = input ("请输入字符串:\ n ") while ch !='@': if '@' in ch : t = ch . find ("@") fp . write ( ch [0:t]) break else : fp . write ( ch +"\ n ") ch = input (") fp . close (
以下是优化后的代码:
filename = input("请输入文件名:\n")
with open(filename, "w") as fp:
ch = input("请输入字符串:\n")
while '@' not in ch:
fp.write(ch + "\n")
ch = input()
t = ch.find("@")
fp.write(ch[:t])
这里使用了 with 语句来自动关闭文件,同时也将写文件操作放在了 with 语句内部,可以更好地保证文件的正常关闭。另外,将判断 '@' 是否在输入字符串中的条件改为了 while '@' not in ch,这样更加简洁易懂。最后,将查找 '@' 的操作放在了循环外面,避免了重复查找。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)