我使用python在用户的两个值之间产生随机整数,我的代码如下。我收到了错误:
from random import *
i1 = input('Enter the N1 :')
i2 = input('Enter the N2 :')
r = randint({0},{1}.format(i1,i2))
print r
这里我从用户那里拿i1和i2,想在i1和i2之间产生随机整数。
我收到错误:
File "index.py", line 6
r = randint({0},{1}.format(i1,i2))
^
SyntaxError: invalid syntax
答案 0 :(得分:4)
要解决所有问题:
r = random.randint(i1, i2)
修复SyntaxError
后,由于将字符串传递给randint
,您将收到另一个错误。只需按照上面的操作来解决问题,您根本不需要.format
。
答案 1 :(得分:2)
您需要添加引号/撇号以使{0},{1}
成为字符串:
r = randint('{0},{1}'.format(i1,i2))
这会将字符串传递给随机整数函数。该函数需要两个整数。所以你需要做的就是:
r = randint(i1, i2)
答案 2 :(得分:1)
根据manual,input
相当于eval(raw_input(prompt))
,因此您无需将字符串解析为整数 - i1
和{{1}已经是整数了。而是做:
i2
顺便说一下,您缺少格式字符串{0},{1}
的引号答案 3 :(得分:1)
这是您正在尝试做的事情:
randint
功能以下是执行此操作的代码:
from random import randint
a = input('Enter the lower bound: ')
b = input('Enter the upper bound: ')
print(randint(a, b))
注意:如果您使用的是Python 3,则需要将a和b转换为整数,例如
a = int(input('Enter the lower bound: '))