大学生python基础题

img

img


想知道类似“5.0+5.0=10.0”这种算式怎么用format格式输出


while True:
    a = input('请输入第一个数字:')
    if a in 'qQ':
        break
    b = input('请输入第二个数字:')
    if b in 'qQ':
        break
    c = input('请输入+-*/运算符')
    if c in 'qQ':
        break
    print('{:.2f}{}{:.2f}={:.2f}'.format(float(a),c,float(b),eval(a+c+b)))

该回答引用GPTᴼᴾᴱᴺᴬᴵ
下面是使用猜环改写的简单计算器程序的示例代码,可以让用户一直进行四则运算,直到用户输入'q'或者'Q',程序结束。

#include <stdio.h>

int main()
{
    double num1, num2, result;
    char op;

    do {
        printf("请输入第一个数字:");
        if (scanf("%lf", &num1) != 1) {
            printf("输入错误,请重新输入\n");
            while (getchar() != '\n');  // 清除输入缓冲区
            continue;
        }

        printf("请输入第二个数字:");
        if (scanf("%lf", &num2) != 1) {
            printf("输入错误,请重新输入\n");
            while (getchar() != '\n');  // 清除输入缓冲区
            continue;
        }

        printf("请输入+-*/运算符:");
        while (getchar() != '\n');  // 清除输入缓冲区
        if ((op = getchar()) == 'q' || op == 'Q') {
            break;
        }

        switch (op) {
            case '+':
                result = num1 + num2;
                printf("%.2f+%.2f=%.2f\n", num1, num2, result);
                break;
            case '-':
                result = num1 - num2;
                printf("%.2f-%.2f=%.2f\n", num1, num2, result);
                break;
            case '*':
                result = num1 * num2;
                printf("%.2f*%.2f=%.2f\n", num1, num2, result);
                break;
            case '/':
                if (num2 == 0) {
                    printf("除数不能为0,请重新输入\n");
                    continue;
                }
                result = num1 / num2;
                printf("%.2f/%.2f=%.2f\n", num1, num2, result);
                break;
            default:
                printf("运算符输入错误,请重新输入\n");
                continue;
        }
    } while (1);

    return 0;
}


程序的逻辑如下:

  • 程序使用 do-while 循环实现用户可以一直使用计算器做四则运算,直到用户输入'q'或者'Q',程序结束。
  • 在每一轮循环中,先要求用户输入两个数字,如果输入不合法,程序会提示输入错误并要求用户重新输入。
  • 然后要求用户输入运算符,如果用户输入了'q'或者'Q',程序会跳出循环,否则会执行相应的计算,并输出计算结果。
  • 在计算过程中,如果出现除数为0的情况,程序会提示除数不能为0,并要求用户重新输入。
  • 最后,程序会重新进入循环,等待用户输入下一次的计算数据。

注意,为了防止输入错误的数据导致程序崩溃,程序在每次输入数字和运算符之后,都会对输入进行合法性检查。如果输入不合法,程序会提示输入错误,并清除输入缓冲区,要求用户重新输入。