以下のコードでは、文字列を整数に正しく変換できません。
lang
入力を文字列として受け取ります。入力を整数に制限すると、ユーザーが入力した文字によってエラーが発生するため、すべての入力を受け入れたいと考えています。
このコード:
lang=[]
def chooseLang():
global lang
while lang !='1' and lang != '2':
print ('Select (1 or 2):')
lang=input()
return lang
def convertStr(lang):
ret=int(lang)
return ret
#-----------------------Program-----------------------
chooseLang()
convertStr(lang)
c=2+lang
print (c)
...このエラーが発生します:
in <module> c=2+lang
TypeError: unsupported operand type(s) for +: 'int' and 'str'
1 つの関数ですべてを実行しようとしても、同じ効果があります。
lang=[]
def chooseLang():
global lang
while lang !='1' and lang != '2':
print ('Select (1 or 2):')
lang=input()
return lang
ret=int(lang)
chooseLang()
c=2+lang
print (c)
私は何を間違っていますか?