【问题标题】:Python Equivalent to System('PAUSE')Python 等价于 System('PAUSE')
【发布时间】:2014-03-17 22:02:13
【问题描述】:

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

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

所以我想知道是否有一个等效于 c++ System('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)

谢谢

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

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

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

    注意 sn-p 中的大写字母,暂停不是 PAUSE。

    【讨论】:

    • 这个函数很像@S1lur 的函数,是 Windows 特定的,linux/unix 发行版会抛出错误
    【解决方案2】:
    import os
    ...
    os.system("pause")
    

    这应该可以完成工作

    【讨论】:

    • sh: 1: pause: not found
    【解决方案3】:

    在 p3k 上使用 input() 或在 p2.7x 上使用 raw_input() - 它会从标准输入读取任何内容,因此它会等到用户准备好。

    【讨论】:

    • 我要做的只是添加一个 While 循环,这样当它到达末尾时,它会询问你是否想再做一次求和,这样你就可以在决定是否你想输入另一个总和。我之前应该想到的,我的错:/但感谢@FilipMalczak
    【解决方案4】:
    import time
    
    time.sleep(secs)
    

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

    【讨论】:

      【解决方案5】:

      这是一个简单的数学运算程序, A. “input()” 基本上是等待用户输入一个值并根据该值计算结果,你也会看到 B. While 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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-02-12
        • 1970-01-01
        • 1970-01-01
        • 2010-10-12
        • 2012-08-16
        • 2011-02-04
        • 2011-02-11
        • 2015-01-25
        相关资源
        最近更新 更多