Python NameError' Y'未找到

时间:2017-06-16 06:38:33

标签: python

我试图制作一个随机生成1-6范围内的数字的程序。当用户输入' N'

时会停止

这是我的代码

function imgClicked (){
    $('.myBtn').addClass('disabled');
}

这是错误消息

  

回溯(最近一次呼叫最后一次):文件" Dice.py",第11行,在          x = chr(输入("再次?(Y / N)"))文件"",第1行,在NameError中:名称' Y'未定义

4 个答案:

答案 0 :(得分:1)

使用Python 2中的raw_input获取字符串,Python 2中的输入等效于eval(raw_input)。 因此,当您在输入中输入类似Y的内容时,它会认为您正在寻找名为Y的变量:

import random
def roll():
    min = 1
    max = 6
    value = random.randrange(min,max+1)
    print(value)

x = 'Y'
while (x == 'Y'):
    roll()
    x = (raw_input("again?(Y/N)"))

使用raw_input()并删除chr()功能

答案 1 :(得分:0)

将您的代码更改为使用str而不是chr

chr():返回一个字符串,其ASCII码为整数i。例如,chr(97)返回字符串'a'。参数必须在[0..255]

的范围内
import random
def roll():
    min = 1
    max = 6
    value = random.randrange(min,max+1)
    print(value)

x = 'Y'
while (x == 'Y'):
    roll()
    x = input("again?(Y/N)")    #Python 3
    x = raw_input("again?(Y/N)")  #Python 2

答案 2 :(得分:0)

这项工作谢谢

import random
def roll():
    min = 1
    max = 6
    value = random.randrange(min,max+1)
    print(value)

x = 'Y'
while (x == 'Y'):
    roll()
    x = raw_input("again?(Y/N)")

答案 3 :(得分:0)

python 3.x

中没有进行类型转换

x = input("again?(Y/N)")