私のコードは文字のみを受け入れることになっています(例えば、ジャックが受け入れられ、ジャック1は受け入れられません)。文字のみを入力として受け入れる
ユーザーに姓名を入力して保存するように求めます。いったん私がファーストネームのコードを書いたら、それをテストしてファーストネームのコードを正しく書いたかどうかを確認しましたが、それは私にthis errorを与え続けました。
答えでは、数字のみを許可してこの作業を行う方法を教えてください。
コード
import random
operators = ["+", "-", "*"]
def greeting(first_name, last_name):
print ("Hello", first_name + " " + last_name)
Play = input('Are you ready to begin?')
if Play == 'yes':
print("Great", first_name + ", lets begin")
else:
greeting(first_name, last_name)
def Players_input():
print ("Welcome to the Arithmetic Quiz")
first_name = input("Please enter your first name: ")
if all(x.isalpha() or x.isspace() for x in first_name):
last_name = input("Please enter your last name: ")
greeting(first_name, last_name)
else:
print("Only alphabetical letters and spaces: no")
Players_input()
score = 0
for i in range(10):
first_number = random.randint(1,12)
second_number = random.randint(1,12)
op = random.choice(operators)
print (first_number, op, second_number, " = ?")
users_answer = int(input())
if op == "+":
right_answer = first_number + second_number
elif op == "-":
right_answer = first_number - second_number
elif op == "*":
right_answer = first_number * second_number
if users_answer == right_answer:
print("Well Done!")
score += 1
else:
print ("Sorry but thats the wrong answer, the right answer is: " + str(right_answer) + ". Better luck next time")
print (first_name, "Your final score in the Arithmetic Quiz is", str(score), "out of 10")
あなたは三回「助けてください」とその後、コードだけをダンプし、「エラーを修正する」と言うと言うべきではありません。あなたは一貫した答えを得るために一貫した質問を出す必要があります。 –
'first_name'は' Players_input'関数のローカル変数であることを理解していませんか? – ForceBru
写真としてのエラーを投稿してはいけません。コードの書式設定を使用してください:) – Signal