我在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)
谢谢
答案 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