Python猜数字游戏第二次循环报错:NoneType与int不可用<比较
错误原因
你遇到的报错是因为错误将print()的返回值赋值给了numero变量。Python中print()仅负责输出内容,没有返回值,默认返回None,因此第一次循环执行赋值操作后,numero的类型从原本的int变为NoneType,第二次循环执行大小对比时就触发了类型不匹配的错误。
错误代码行
你循环体内的两行赋值语句都存在问题:
numero = print(int(input('Mais...tente mais uma vez!'))) numero = print(int(input('Menos...tente mais uma vez!')))
修复方案
将用户输入赋值和打印操作拆分即可,不要把print的返回值赋值给numero,同时建议将import random移到代码开头,符合Python编码规范。
修正后完整代码
import random sorteado = random.randint(1,11) print(sorteado) tot = 1 numero = int(input('Olá. Sou seu computador...\nAcabei de pensar em um número entre 1 e \n10.\nSerá se você consegue advinhar qual foi? \nQual é seu palpite? ')) print(type(sorteado)) print(type(numero)) while numero != sorteado: if numero < sorteado: numero = int(input('Mais...tente mais uma vez!')) print(numero) tot += 1 elif numero > sorteado: numero = int(input('Menos...tente mais uma vez!')) print(numero) tot += 1 print('Parabéns! Você acertou em {} tentativas.'.format(tot))
内容的提问来源于stack exchange,提问作者Frederico Barbosa
相关产品推荐
相关产品推荐

