PYTHON小白提问!紧急!!
为啥我这个还是错了呀??红色的东西代表什么呢?WHILE一般放在哪里的呢??谢谢大佬们 我要死了 要死了呜呜呜自学成猪!! 红色表示这一行有错误
你的错误是这一行最后少一个冒号 富富猪猪 发表于 2020-8-25 14:00
要死了呜呜呜
自学成猪!!
标红的这行少了个冒号,另外代码第四行括号用的是中文 guess没有定义 这里才是正确代码:
import random
secret = random.randint(1,10)
guess = 0
print("不妨猜一下小甲鱼现在心里想的是哪个数字:")
while guess != secret:
temp = int(input())
if guess == secret:
print("good!")
else:
if guess > secret:
print("大")
if guess < secret:
print("小")
else:
print("sorry")
print("gg") 第四行括号(),() 本帖最后由 Twilight6 于 2020-8-25 17:06 编辑
你的代码有四个错误:
第一,最明显的语法错误,也就是你红色的那行 while 循环语句那最后少了个冒号
第二,你图片中没有导入 random 的伪随机数模块,不能直接使用 random.randint 函数
第三,你的 guess 变量没有进行初始化值,需要在 while 代码前面初始化下 guess 的值 否则代码也是错误的
第四,input 函数返回的永远是字符串,如果你和 secret 一个整数进行判断是否相等,要将字符串转化为整型,因为字符串的 '1' 是不等于整型 1 的,他们是两种不同类型的值
在你代码基础上,顺便帮你改进了下代码,参考代码:
import random
secret = random.randint(1,10)
guess = 0
print("不妨猜一下小甲鱼现在心里想的是哪个数字:",end='')
while guess != secret:
guess = int(input())
if guess == secret:
print("good!")
else:
if guess > secret:
print("大了,请重新输入:",end='')
if guess < secret:
print("小了,请重新输入:",end='')
else:
print("sorry")
print("gg")
print 函数里面的 end= '' 参数是为了打印不换行,配合 while 循环的 input 来达到更好的效果哈
xiaosi4081 发表于 2020-8-25 14:16
这里才是正确代码:
谢谢! Twilight6 发表于 2020-8-25 14:46
你的代码有四个错误:
第一,最明显的语法错误,也就是你红色的那行 while 循环语句那最后少了个冒号
谢谢,为啥GUESS要有初始化值,那不就规定了它是0吗? 本帖最后由 Twilight6 于 2020-8-25 17:06 编辑
富富猪猪 发表于 2020-8-25 17:00
谢谢,为啥GUESS要有初始化值,那不就规定了它是0吗?
抱歉,我的代码中还有个地方有点错误,就是循环中直接给 guess 赋值,已更改 富富猪猪 发表于 2020-8-25 17:00
谢谢,为啥GUESS要有初始化值,那不就规定了它是0吗?
为啥GUESS要有初始化值
因为你开始没有定义 guess 的初始值的时候,代码执行到 while 循环时候 while 循环的 guess != secret 条件就无法判断,因为 guess 没初始值,就会导致报错 本帖最后由 coolliqing 于 2020-8-25 17:32 编辑
Twilight6 发表于 2020-8-25 14:46
你的代码有四个错误:
第一,最明显的语法错误,也就是你红色的那行 while 循环语句那最后少了个冒号
import random
secret = random.randint(1,10)
guess = 0
print("不妨猜一下小甲鱼现在心里想的是哪个数字:",end='')
while guess != secret:
guess = int(input())
if guess == secret:
print("good!")
else:
if guess > secret:
print("大了,请重新输入:",end='')
if guess < secret:
print("小了,请重新输入:",end='')
else: #这个else跟哪个if是一对的
print("sorry")
print("gg")
这段代码里最后一个else,是和哪个if对齐的,没看明白 coolliqing 发表于 2020-8-25 17:30
这段代码里最后一个else,是和哪个if对齐的,没看明白
这个和 while 是一对的,你学习到后面会学到 while-else,for-else 之类的语法的 Twilight6 发表于 2020-8-25 17:32
这个和 while 是一对的,你学习到后面会学到 while-else,for-else 之类的语法的
谢谢{:5_109:} coolliqing 发表于 2020-8-25 17:33
谢谢
客气了~ 后面没加冒号 楼上全部正解 富富猪猪 发表于 2020-8-25 17:00
谢谢,为啥GUESS要有初始化值,那不就规定了它是0吗?
这个不是规定它是0了,而是进行了一次赋值,一个变量可以进行很多次赋值。 富富猪猪 发表于 2020-8-25 17:00
谢谢,为啥GUESS要有初始化值,那不就规定了它是0吗?
初始化仅仅是为了创建变量,可以随时更改的,不然容易NameError
页:
[1]
2