鱼C论坛

 找回密码
 立即注册
查看: 659|回复: 2

一个问题

[复制链接]
发表于 2020-5-17 18:04:21 | 显示全部楼层 |阅读模式

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

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

x
大佬们,快帮我改进一下我的代码为什么有这个错误
from random import*

i = int(input("你需要出几题?"))

while True:
    oneadd = str(randint(0, 1000))
    twoadd = str(randint(0, 1000))
    zs = int(oneadd + twoadd)
    wt = input(oneadd + "+" + twoadd + "等于几:")
    if wt == zs:
        print("对了")
    else :
        print("错了,正确答案是:" + int(zs))
    i-=1    
:File "C:/Users/DELL/AppData/Local/Programs/Python/Python39/出题.py", line 13, in <module>
    print("错了,正确答案是:" + int(zs))
TypeError: can only concatenate str (not "int") to str
很急,在线等
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-17 20:37:56 From FishC Mobile | 显示全部楼层
python对于不同数据类型,是不能执行+操作的
你这里str    int   这俩函数你用的是天马行空
我都看迷糊了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-17 21:00:03 | 显示全部楼层
本帖最后由 老八秘制 于 2020-5-17 21:16 编辑

不能对字符串和整型进行运算
没有退出循环语句
int和str比较……
帮你改改:
from random import *

num = int(input("你需要出几题?"))

while True:
    oneadd = randint(0, 1000)
    twoadd = randint(0, 1000)
    right_answer = int(oneadd + twoadd)
    usr_answer = int(input("%d+%d等于几:" % (oneadd, twoadd)))
    if usr_answer == right_answer:
        print("对了")
    else :
        print("错了,正确答案是:%d" % right_answer)
    num-=1
    if num == 0:
        break
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-1 21:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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