在C、C++和Python中用一个终结字符(EOF)结束输入。

2024-04-18 13:29:53 发布

您现在位置:Python中文网/ 问答频道 /正文

几天前,我开始学习Python语言。我在python方面的技能并不高。但不管我学到什么,我都想解决UVA在线评判的问题

当我试图解决这个问题时,272tex Quotes我遇到了一个问题,即当用户输入是由文件结尾给出的时候,我要终止循环。在

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

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给出的文件结尾终止循环

^{pr2}$ <>也><> > 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;
}

Tags: 文件代码txttrueifincludevar结尾
1条回答
网友
1楼 · 发布于 2024-04-18 13:29:53

EOF while input引发EOFError,因此可以使用try…except 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

相关问题 更多 >