Python 输入以C,C+中的文件结束字符(EOF)结束+;和蟒蛇

Python 输入以C,C+中的文件结束字符(EOF)结束+;和蟒蛇,python,python-3.x,eof,Python,Python 3.x,Eof,几天前我开始学习Python语言。我的python技能不算太高。但无论我学到什么,我都想解决UVA在线评委的问题 当我试图解决这个问题时,272 TEX Quotes我面临一个问题,即当文件末尾给出用户输入时,终止循环 检查python中的my(100%逻辑已解决)代码(循环终止时除外) 在C中检查我接受的已解决代码,它的终止循环以文件结尾,文件结尾由Ctrl+Z #include <stdio.h> int main() { int flag = 1; char

几天前我开始学习Python语言。我的python技能不算太高。但无论我学到什么,我都想解决UVA在线评委的问题

当我试图解决这个问题时,272 TEX Quotes我面临一个问题,即当文件末尾给出用户输入时,终止循环

检查python中的my(100%逻辑已解决)代码(循环终止时除外)

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;
}
#包括
int main()
{
int标志=1;
字符txt;
而((txt=getchar())!=EOF){
如果(txt==“”){
国际单项体育联合会(旗)
printf(“``”);
其他的
printf(“打印”);
flag=!flag;
}否则
putchar(txt);
}
返回0;
}
另外,C++

#包括
#包括
使用名称空间std;
int main()
{
字符txt;
布尔标志=真;
而((txt=getchar())!=EOF){
如果(txt==“”){
国际单项体育联合会(旗)

coutEOF while input引发EOFError,因此您可以使用try…EXPECTION block with break语句:

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

int-txt
否则
EOF
处理混乱。当您向程序提供EOF时(例如,通过
^D
),输入()将引发<代码> EOFError <代码>,程序将退出。有什么问题?是否有不同的代码审查论坛?对于int txt,C或C++代码数据类型是正确的,因为如果您编写如下代码,如PrtTf(“%d”,GETCARE());然后,如果您从键盘A输入,您应该看到65,这是A的ASCII值,或者如果您给出CTRL-Z,那么您应该看到-1。而且python没有给出数据类型,所以这没有问题35; coderedoc仅仅因为您将对
printf
的所有调用替换为
cout
并不意味着您真的在编写C+ +代码。现在,非常感谢你的回答。我也知道你的答案是由UVA在线法官接受的。但是有一件事告诉我,请允许像C或C++那样在If while循环中做事情。e在上述评论中
#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;
}
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