鱼C论坛

 找回密码
 立即注册
查看: 3562|回复: 13

[已解决]我这个程序为什么会报错

[复制链接]
发表于 2023-3-8 21:43:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
写了半个多小时程序,可一运行一片红,傻了
屏幕截图 2023-03-08 214049.png
最佳答案
2023-3-9 20:27:32

b是运算符不是第二个运算数
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-3-8 21:46:50 | 显示全部楼层
呃代码放上来ok?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-9 09:01:41 From FishC Mobile | 显示全部楼层
出了错就看看报错信息,别光顾着傻,看了没准就能解决问题了
b 里存储的是什么?int(b) 怎么操作?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-9 09:38:44 | 显示全部楼层
报错信息显示你的问题在那个“+”号里
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-9 20:25:08 | 显示全部楼层

好的
  1. import random as r
  2. time = int(input("请输入题目数量(单位:道)"))
  3. scope_1 = int(input("请输入起始范围:"))
  4. scope_2 = int(input("请输入截止范围:"))
  5. score = time
  6. print("温馨提示:因除法运算采用地板除除法防止小数,所以请在运算时省略余数!")
  7. for i in range(time):
  8.     operator = ["+","-","×","÷"]
  9.     a = str(r.randint(scope_1,scope_2))
  10.     b = r.choice(operator)
  11.     c = str(r.randint(scope_1,scope_2))
  12.     if b == "÷":
  13.         if a < b:
  14.             del a
  15.             a = str(r.randint(b,scope_2))
  16.         else:
  17.             pass
  18.     if b == "-":
  19.         if a < b:
  20.             del a
  21.             a = str(r.randint(b,scope_2))
  22.         else:
  23.             pass
  24.     d = a + b + c
  25.     e = input(d + "=")
  26.     if b == "+":
  27.         if int(e) != int(a) + int(b):
  28.             print("填写错误,扣一分!")
  29.             score -= 1
  30.     if b == "-":
  31.         if int(e) != int(a) - int(b):
  32.             print("填写错误,扣一分!")
  33.             score -= 1
  34.     if b == "×":
  35.         if int(e) != int(a) * int(b):
  36.             print("填写错误,扣一分!")
  37.             score -= 1
  38.     if b == "÷":
  39.         if int(e) != int(a) // int(b):
  40.             print("填写错误,扣一分!")
  41.             score -= 1
  42. print(f"题目已结束,你的得分为{score}。")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-9 20:25:48 | 显示全部楼层
wiselin 发表于 2023-3-9 09:38
报错信息显示你的问题在那个“+”号里

没有啦,其实是除号
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-9 20:27:32 | 显示全部楼层    本楼为最佳答案   

b是运算符不是第二个运算数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-9 20:28:30 | 显示全部楼层
dolly_yos2 发表于 2023-3-9 09:01
出了错就看看报错信息,别光顾着傻,看了没准就能解决问题了
b 里存储的是什么?int(b) 怎么操作?

b里存的是运算符
所以意思是说我要把int(b)换成int(c)?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-9 20:29:21 | 显示全部楼层
歌者文明清理员 发表于 2023-3-9 20:27
b是运算符不是第二个运算数

哦,懂了,晚上太赶敲错了,谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-9 20:34:52 | 显示全部楼层
本帖最后由 歌者文明清理员 于 2023-3-9 21:01 编辑
一点沙 发表于 2023-3-9 20:29
哦,懂了,晚上太赶敲错了,谢


还会报错,我研究研究
研究完毕,又改了改你的代码,结果如下
  1. import random as r
  2. time = int(input("请输入题目数量(单位:道)"))
  3. scope_1 = int(input("请输入起始范围:"))
  4. scope_2 = int(input("请输入截止范围:"))
  5. score = time
  6. print("温馨提示:因除法运算采用地板除除法防止小数,所以请在运算时省略余数!")
  7. for i in range(time):
  8.     operator = ["+","-","×","÷"]
  9.     a = str(r.randint(scope_1,scope_2))
  10.     b = r.choice(operator)
  11.     c = str(r.randint(scope_1,scope_2))
  12.     if b == "÷":
  13.         if a < c:
  14.             del a
  15.             a = str(r.randint(int(c),scope_2))
  16.         else:
  17.             pass
  18.     if b == "-":
  19.         if a < c:
  20.             del a
  21.             a = str(r.randint(int(c),scope_2))
  22.         else:
  23.             pass
  24.     d = a + b + c
  25.     e = input(d + "=")
  26.     if b == "+":
  27.         if int(e) != int(a) + int(c):
  28.             print("填写错误,扣一分!")
  29.             score -= 1
  30.     if b == "-":
  31.         if int(e) != int(a) - int(c):
  32.             print("填写错误,扣一分!")
  33.             score -= 1
  34.     if b == "×":
  35.         if int(e) != int(a) * int(c):
  36.             print("填写错误,扣一分!")
  37.             score -= 1
  38.     if b == "÷":
  39.         if int(e) != int(a) // int(c):
  40.             print("填写错误,扣一分!")
  41.             score -= 1
  42. print(f"题目已结束,你的得分为{score}。")
复制代码

@一点沙

点评

我很赞同!: 5.0
我很赞同!: 5
不过你这里第13,19行错了,应该是a<c  发表于 2023-3-9 20:53

评分

参与人数 1荣誉 +3 鱼币 +1 收起 理由
一点沙 + 3 + 1

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-9 20:49:40 | 显示全部楼层
歌者文明清理员 发表于 2023-3-9 20:34
还会报错,我研究研究
研究完毕,又改了改你的代码,结果如下

谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-9 21:01:21 | 显示全部楼层

确实错了,我改改
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-3-9 21:12:35 | 显示全部楼层

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-24 19:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表