pycharm에서 문자열 입력에 이상이 있습니다
조회수 5363회
import random
def shuff():
num = ['2', '3', '4', '5', '6', '7', '8', '9', 'T', 'J', 'Q', 'K', 'A']
suit = ['s', 'd', 'h', 'c']
deck = []
for i in suit:
for j in num:
deck.append(j + i)
random.shuffle(deck)
return deck
while True:
inp = str(input("Wanna deal?:"))
if inp == 'y':
print(shuff())
else:
continue
웹 인터프리터에 넣으면 정상작동을 하는데 pycharm에 넣으면
C:\Python27\python.exe C:/Users/Alpaca/PycharmProjects/test/n.py Wanna deal?:y Traceback (most recent call last): File "C:/Users/Alpaca/PycharmProjects/test/n.py", line 18, in inp = str(input("Wanna deal?:")) File "", line 1, in NameError: name 'y' is not defined
Process finished with exit code 1
이런 에러가 뜨네요... 무엇이 문제일까요?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
로그를 보니 파이참에서 python2.7 버전을 쓰고 계시네요 아마 웹 인터프리터는 python3이고 pycharm은 python2를 써서 그럴 겁니다.
python3에서
input()
은 standard input(키보드 인풋)을 받아오는 함수입니다.반면 파이썬2에서
input()
은 python expression을 받아서 run하는 함수입니다. 예를 들어 지금 코드를 run해서 y와 같은 문자가 아니라 3 또는 1+2같은 expression을 입력하면 에러가 발생하지 않을거에요.고치는 방법은 다음과 같습니다. 사용하실 인터프리터에 따라 하나만 선택해주세요
1. python2를 쓰실 경우
코드에
input
함수를raw_input
으로 바꿔주세요inp = str(raw_input("Wanna deal?:"))
와 같이 바꾸시면 됩니다
2. python3을 쓰실 경우
pycharm 설정에서 인터프리터를 2에서 3으로 바꿔주셔야 합니다.
설정 - 프로젝트: {프로젝트 명} - 프로젝트 인터프리터
에 들어가시면 인터프리터 설정을 바꿀 수 있어요~
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력