Python相当于系统('PAUSE')

时间:2014-03-17 22:02:13

标签: python python-3.x

我在python 3.3中编写了一个基本的计算器,我希望能够在命令窗口中运行它。

但是一旦我到达终点,就会在我有时间查看最终答案之前关闭窗户。

所以我想知道是否有相当于c ++系统('PAUSE')的命令告诉它在用户准备好之前不再继续。

这是我的计算器代码:

print('Your Very Own Basic Calculator')
first_num = int(input('Please Enter The First Number: '))
second_num = int(input('Please Enter The Second Number: '))
Equation = input('What would you like to do, multiplication, division, subtraction or     
if Equation == ('*'):
addition? *, /, -, +')
    print('The Answer is',first_num * second_num)
elif Equation == ("/"):
    print('The Answer is',first_num / second_num)
elif Equation == ('-'):
    print('The Answer is',first_num - second_num)
elif Equation == ('+'):
    print('The Answer is',first_num + second_num)

谢谢

5 个答案:

答案 0 :(得分:17)

在p3k上使用input()或在p2.7x上使用raw_input() - 它将从stdin中读取任何内容,因此它将等待用户准备就绪。

答案 1 :(得分:5)

import time

time.sleep(secs)

另一种选择更好,但这也回答了你的问题。

答案 2 :(得分:2)

截至今天,这是在win7下工作的:

import os
(...)
os.system("PAUSE")

注意代码段中的大写字母,暂停不是暂停。

答案 3 :(得分:0)

import os
...
os.system("pause")

这应该做的工作

答案 4 :(得分:0)

这是一个用于进行数学运算的简单程序, A.基本上等待用户输入值的“ input()”,并根据该值计算结果,您也会看到 B.虽然为True:表示该程序永不停止(或至少用户输入2而不是要求退出) 最后,有关希腊语言的部分内容。 (您需要翻译它们)

import os

# Reads a Float number
def read(thesi):
    try:
        ask_me = f'Δώσε μου τον {thesi} αριθμό'
        os.system(f"say '{ask_me}'")
        number_a = float(input())
        return number_a
    except KeyboardInterrupt:
        print('Ζητήθηκε άμεση έξοδος από το πρόγραμμα')
        quit()
    except ValueError:
        print('Σφάλμα:')
        return read(thesi)

def continue_exit():
    try:
        accept_only = ('1', '2')
        ask_me = '1. Continue   2. Exit the Program'
        os.system(f"say '{ask_me}'")
        number= input()
        if number in accept_only:
            return number
        else:
            print('Try again')
            return continue_exit()
    except KeyboardInterrupt:
        print('Ζητήθηκε άμεση έξοδος από το πρόγραμμα')
        quit()
    except ValueError:
        print('Σφάλμα:')
        return continue_exit()

# Reads the type of the equation
def equation_read():
    lst = ['+', '-', '/', '*', 'mod', 'pow', 'div']
    ask_me = f'μαθηματική πράξη?'
    os.system(f"say '{ask_me}'")
    print('Input --> +  -  /  * mod pow div ')
    equation = input()
    if equation in lst:
        return equation
    print('Σφάλμα')
    return equation_read()


# Checks and does the math
def math(a ,b ,eq):
    forbiden_zero_division = ('/', 'mode', 'div')
    if b == 0 and eq in forbiden_zero_division:
        ask_me = f'Σφάλμα: Δεν επιτρέπεται διαίρεση με το 0'
        os.system(f"say '{ask_me}'")
        return 'Division by 0!'
    if eq == '+':
        ask_me = f'Ζητήθηκε πρόσθεση:'
        os.system(f"say '{ask_me}'")
        return a + b
    elif eq == '-':
        ask_me = f'Ζητήθηκε αφαίρεση:'
        os.system(f"say '{ask_me}'")
        return a - b
    elif eq == '/':
        ask_me = f'Ζητήθηκε διαίρεση:'
        os.system(f"say '{ask_me}'")
        return a / b
    elif eq == '*':
        ask_me = f'Ζητήθηκε πολλαπλασιασμός:'
        os.system(f"say '{ask_me}'")
        return a * b
    elif eq == 'mod':
        ask_me = f'Ζητήθηκε το υπόλοιπο διάιρεσης:'
        os.system(f"say '{ask_me}'")
        return a % b
    elif eq == 'pow':
        ask_me = f'Ζητήθηκε η δύναμη:'
        os.system(f"say '{ask_me}'")
        return a ** b
    elif eq == 'div':
        ask_me = f'Ζητήθηκε ακέραιη διαίρεση:'
        os.system(f"say '{ask_me}'")
        return a // b


while True:
    a = read('πρώτο')  # Read the First Number
    b = read('δεύτερο')  # Read the Second Number
    eq = equation_read()  # Read the Type of the equation
    result = math(a, b, eq) # Do the math
    print(result)
    ask_me = f'Αποτέλεσμα {result}'
    os.system(f"say '{ask_me}'")
    c_e = continue_exit()
    if c_e == '2':
        break