草莓耶狗勾 发表于 2021-7-13 18:16:43

为何这个print总是报错

代码如下,
第8行的print("猜猜数字是哪个:" + end=" ")总是报错,报错显示"expression cannot contain assignment, perhaps you meant"==""的内容。
且第一个引号被标蓝,但是感觉没毛病?

检查了很多遍,删掉了该行程序可以运行,但是要有这一行程序才会完整.
尝试过将整一行换位置,仍旧会提示错误无法运行,且每次提示的错误都相同,单引号双引号引用字符串都试过,依旧报错。
求大神帮忙看看~

import random
times = 5
secret = random.randint(0,100)

print('欢迎光临猜数(0-100)游戏')
guess = ()

print("猜猜数字是哪个:" + end=" ")

while (times > 0) and (guess != secret):
    temp = input()
    guess = int(temp)
    times = times - 1
    if guess == secret:
      print('恭喜您猜对啦!')
    else:
      if guess > secret:
            print('猜大了')
      else:
            print('太小啦')
      if times > 0:
            print('再试一次吧,还有'+str(times)+'次机会')
      else:
            print('机会用完啦!')

print('游戏结束~欢迎下次光临')

xiaosi4081 发表于 2021-7-13 18:20:43

本帖最后由 xiaosi4081 于 2021-7-13 18:23 编辑

你这代码不对呀,end是print的参数,前面的字符串和后面的end=" "都是print的参数,需要用逗号分隔

而且你这个guess被定义成了元组(tuple),无法和secret(整形)比较

一般整型变量都不需要被提前定义
改成这样:
import random
times = 5
secret = random.randint(0,100)

print('欢迎光临猜数(0-100)游戏')

print("猜猜数字是哪个:",end=" ")

while (times > 0) and (guess != secret):
    temp = input()
    guess = int(temp)
    times = times - 1
    if guess == secret:
      print('恭喜您猜对啦!')
    else:
      if guess > secret:
            print('猜大了')
      else:
            print('太小啦')
      if times > 0:
            print('再试一次吧,还有'+str(times)+'次机会')
      else:
            print('机会用完啦!')

print('游戏结束~欢迎下次光临')

basketmn 发表于 2021-7-13 18:59:55

import random
times = 5
secret = random.randint(0,10)

print('欢迎光临猜数(0-10)游戏')
guess=int(input())
print("猜猜数字是哪个:",end=" ")

while (times > 0) and (guess != secret):
    temp = input()
    guess = int(temp)
    times = times - 1
    if guess == secret:
      print('恭喜您猜对啦!')
    else:
      if guess > secret:
            print('猜大了')
      else:
            print('太小啦')
      if times > 0:
            print('再试一次吧,还有'+str(times)+'次机会')
      else:
            print('机会用完啦!')

print('游戏结束~欢迎下次光临')

你前面没有输入guess的值,没法形成判断条件
所以会报guess没定义,我改了下,你看看

草莓耶狗勾 发表于 2021-7-13 19:08:11

已解决,是end前的符号不是字符串拼接,应该用逗号而不是加号

Kayko 发表于 2021-7-14 09:46:08

提醒我了{:10_266:}
页: [1]
查看完整版本: 为何这个print总是报错