我正在学习Python(3.6.3)并制作一个愚蠢(非常线性)的聊天机器人。有一次,聊天机器人会要求你猜测它的年龄,我使用randint生成一个介于1-1000之间的数字,并希望在if语句中使用输出的随机整数(所以聊天机器人很高兴或者对你的答案感到不安,这取决于你是否认为它比它真的更老了)。 用户的输入是一个名为guess的var,我假设(因为我在网上找不到类似的例子)我可以引用猜测和if语句中的randint来打印所需的输出,但是我得到一个错误,建议radint没有定义当我运行prog -
print('guess how old I am')
guess = input()
import random
for x in range(1):
time.sleep(0.4)
print ('nope, I\'m ' + (str(random.randint(1,1000))) + ' actually')
time.sleep(0.88)
if randint <= guess
print('(so rude...)')
else:
print('aw thanks')
如果我的StackExchange语法也被破坏,请致歉,感谢任何帮助,谢谢
答案 0 :(得分:0)
- you need to define your randint variable
- import time
- fix: you left out colon after "if randint <= guess"
- you need to make your input guess an integer in order to perform comparison
print('guess how old I am')
guess = int(input())
import random
import time
randint = random.randint(1,1000)
for x in range(1):
time.sleep(0.4)
print ('nope, I\'m %s actually' % randint)
time.sleep(0.88)
if randint <= guess:
print('(so rude...)')
else:
print('aw thanks')
答案 1 :(得分:0)
这是您聊天机器人的更正版本:
import time
import random
guess = input('guess how old I am: ')
random_guess = random.randint(1,1000)
time.sleep(0.4)
print ('nope, I\'m {} actually'.format(random_guess))
time.sleep(0.88)
if random_guess <= guess:
print('(so rude...)')
else:
print('aw thanks')
我只是记下那些错误的东西和一些好的做法,这样你就可以跟着它了,因为你正在学习python(我刚刚也学到了它):
randint <= guess
,这是不可能的,因为randint未在任何地方保存为变量。第一次使用random.randint(1, 1000)
时,它被静态添加,仅用于print语句。所以我在这里做的是将random.randint(1,1000)
(因为你可以看到randint是python随机模块中的一个方法)保存到一个名为random_guess
的变量中进行比较。它返回random.randint中所述的随机整数。由于您的random_guess
将成为打印声明
键入int
,使用格式化字符串将是一个不错的选择。
始终在文件顶部使用import语句,以便它可以 改变进口的一站式地方。
看看这个input()
方法,我已经通过了
自动打印出传递的字符串而不是a的字符串
单独的印刷声明
我也删除了for循环因为它一直循环一次(我 知道你需要多次打电话,anywho ..)
编辑:哦,你错过了if语句中的冒号!
我希望这清除了你的疑虑。