我几天前开始学习Python语言。我在python方面的技能不是太高。但无论我学到什么,我都想解决UVA在线判断问题
当我尝试解决问题时 272 TEX 报价,我遇到了一个问题,即当用户输入由文件末尾给出时终止循环。
在 python 中检查我的(100% 逻辑已解决(代码(循环终止时除外(
flag = True;
while True: #I want That loop is terminated when getting EOF
txt = input()
for var in txt:
if var == '"':
if flag:
print("``", end='')
else:
print("''", end='')
flag = not flag
else:
print(var, end='')
print(end='n')
在 C 中检查我接受的已解决代码,它是带有文件结尾的终止循环,由 Ctrl + Z 给出
#include <stdio.h>
int main()
{
int flag = 1;
char txt;
while((txt = getchar()) != EOF){
if(txt == '"'){
if(flag)
printf("``");
else
printf("''");
flag = !flag;
}else
putchar(txt);
}
return 0;
}
另外,C++
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
char txt;
bool flag = true;
while((txt = getchar()) != EOF){
if(txt == '"'){
if(flag)
cout << "``";
else
cout << "''";
flag = !flag;
}else
cout << txt;
}
return 0;
}
EOF 而输入会引发 EOFError 因此您可以使用 try ...除了带有中断语句的块:
flag = True;
while True: #I want That loop is terminated when getting EOF
try:
txt = input()
for var in txt:
if var == '"':
if flag:
print("``", end='')
else:
print("''", end='')
flag = not flag
else:
print(var, end='')
print(end='n')
except EOFError:
break