Я пытаюсь написать функцию, которая принимает пользовательский ввод в виде строки и присваивает его переменной a
. Затем принимает пользовательский ввод целого числа и присваивает его переменной b
. Проблема в том, что когда я запускаю свой код в командной строке Windows и ввожу строку, думая, что я просто присваиваю переменную a
как строку, я получаю эту ошибку, говоря, что она ищет int для переменной b
.
Если я установлю переменную b
равной input("Please enter starting account balance: ")
вместо input(int("Please enter starting account balance: "))
, ошибка исчезнет, как и ожидалось, но без использования int я не знаю, как добавить оператор try и кроме.
def player_setup():
a = input("Please enter player name: ")
print(f"Name saved as {a}.")
b = input(int("Please enter starting account balance: "))
return Player(name = a, account = b)
from BlackJackPackage.game_support_functions import welcome
from BlackJackPackage.game_support_functions import player_setup
welcome()
while True:
#Enter Player Name, and Enter Player Starting Money
human_player = player_setup()
print(f"Welcome {human_player.name}!")
print(f"You have ${human_player.account} in your account!.")
break
Я надеюсь, что переменная a будет строкой, а b - целым числом. Эти переменные должны в конечном итоге использоваться для инициализации класса с именем Player
, который требует ввода name(string)
и account(integer)
. Похоже, что строка ввода для a
пытается присвоить свой ввод как a
, так и b
, вызывая ошибку ValueError.
Ошибка:
C:\Users\Username\Desktop\Udemy Python>python Blackjackgame.py
Welcome to Blackjack Basic. First you will need to enter your name and
how much money you have.
Please enter player name: David
Name saved as David.
Traceback (most recent call last):
File "Blackjackgame.py", line 9, in <module>
human_player = player_setup()
File "C:\Users\David Fitzmaurice\Desktop\Udemy
Python\BlackJackPackage\game_support_functions.py", line 15, in
player_setup
b = input(int("Please enter starting account balance: "))
ValueError: invalid literal for int() with base 10: 'Please enter starting
account balance: