2016-09-18 6 views
0

Я пытаюсь написать функцию, которая принимает два целых ввода a и b и возвращает случайное целое число на интервале [a, b]. Я пробовал ...Integer input - TypeError: Невозможно преобразовать объект 'int' в str неявно

from random import randint 

a = input("a = ") 

b = input("b = ") 

print(randint(a,b)) 

... но я получил следующую ошибку.

Traceback (most recent call last): 
    File "/Users/malcolmjonesnz/PycharmProjects/exploratorySurgery/randomIntegerGeneraterOnA,B.py", line 8, in <module> 
    print(randint(a,b)) 
    File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/random.py", line 218, in randint 
    return self.randrange(a, b+1) 
TypeError: Can't convert 'int' object to str implicitly 

Я играл вокруг попытки «явно» преобразовать входы в строки, но я просто работал себя в состояние растерянности, потому что я такой новичок.

Любая помощь была бы высоко оценена!

ответ

0

Программа работает хорошо для меня. Пожалуйста, замените ввод значениями, которые вы определяете в программе, например a = 1 и b = 5.

Какую версию python вы используете? Может быть, ваша команда печати вызывает некоторые ошибки, поскольку ошибка, похоже, исходит из этой строки?

+0

Python 3.5, используя интерфейс PyCharm. Определение значений внутри программы также работает для меня. Я просто искал способ обобщить программу, чтобы она не была специфической для одного интервала. –

Смежные вопросы