私のプログラムは数学的な入力を受け取り、先に進む前にエラーがないかチェックします。これは私が助けが必要なコードの部分です:
expression= introduction()#just asks user to input a math expression
operators= set("*/+-")
numbers= set("0123456789")
for i in expression:
while i not in numbers and i not in operators:
print("Please enter valid inputs, please try again.")
expression= introduction()
エラーループを設定しましたが、問題は、このシナリオでループを更新する方法がわからないことです。誰?
シンプルなものが必要です。このOPに掲載されているコードに近いものが必要です。何かのようなもの:
expression= introduction()#just asks user to input a math expression
operators= set("*/+-")
numbers= set("0123456789")
while True:
for i in expression:
if i not in numbers and i not in operators:
print("Please enter valid inputs, please try again.")
expression= introduction()
else:
break
このコードも機能しないことに注意してください。ユーザーが「式」に入力するすべての間違いに対してループします。
以下のようなものは高度すぎて使用できません。
valid = operators | numbers
while True:
expression = introduction()
if set(expression) - valid:
print 'not a valid expression, try again'
else:
break
import string
expression = introduction()
operators = {'*', '/', '+', '-'}
numbers = set(string.digits)
while any(char not in numbers and char not in operators for char in expression):
print("Please enter valid inputs, please try again.")
expression = introduction()