楼主: tianjixuetu
3183 10

[问答] 用python编写了一个锻炼数学计算的小程序,但是中间出问题了,求助 [推广有奖]

教授

52%

还不是VIP/贵宾

-

TA的文库  其他...

投资理财书籍

威望
0
论坛币
10240 个
通用积分
42.8729
学术水平
67 点
热心指数
67 点
信用等级
61 点
经验
1211 点
帖子
714
精华
3
在线时间
1561 小时
注册时间
2009-12-16
最后登录
2024-4-19

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
代码如下:求助,原来没有加break,加了也不行
import random
a=random.randint(1,3)
b=random.randint(1,100)
c=random.randint(1,100)
if a==1:
    print(b+c)
    answer=input('您的答案是')
    j=b+c
    if answer==j:
        print("right")
    else:
        print("sorry,your answe is wrong")
    break
if a==2:
    print(b*c)
    answer=input('您的答案是')
    j=b*c
    if answer==j:
        print("right")
    else:
        print("sorry,your answe is wrong")
    break
elif a==3:
    print(b-c)
    answer=input('您的答案是')
    j=b-c
    if answer==j:
        print("right")
    else:
        print("sorry,your answe is wrong")
    break

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python 小程序 Answer random import python 程序 数学

今天,我持续不断地改进自己,在各方面,我会越来越好!
沙发
IT小渣渣 发表于 2016-11-12 02:07:12 |只看作者 |坛友微信交流群
用python编写了一个锻炼数学计算的小程序
1. 根据LZ所描述的需求和编写的程序,大致理解下LZ的想法 (因为需求实在是太短了,而且跟程序中反应出的结果有些差池 (之后会提到),所以跟LZ确认一下需求):LZ希望用Python编写一个小程序,程序的功能是随机给出2个100以内的数字,要求使用程序的人进行加法、减法、乘法三种运算中的一种,程序辅助判断计算结果,如果答案正确输出 “right”,如果答案错误输出 “sorry, your answer is wrong!”
2. LZ程序中的问题不是因为少加了 break,所以LZ如果想要自行修改代码的话,需要先将 break都去掉。程序中真正的问题在于 打印的语句中使用了中文字符:answer=input('您的答案是'),需要确认在文件开头输入这行:# -*- coding: utf-8 -*- 因此去掉 break,在文件开头添加编码格式之后,LZ的代码就可以运行了;
3. 如果LZ是按照我写的步骤进行修改的话,应该会发现另一个问题,就是本来LZ希望自行计算算式结果在于程序中的正确结果进行判断给出正确或者错误的反馈,结果现在LZ的程序将结果先打印出来了,然后又问LZ 您的答案是?程序功能上出问题了,这也是为什么之前需要跟LZ再次确认需求的原因。原因在于:print(b+c) 这条语句就是将b+c的结果打印出来了,可以修改为:print ("%d + %d = ?" % (b, c)) 这样打印出来的就是,例如,1 + 2 =?减法和乘法的修改方式相同;
其实到这里LZ的程序就已经修改完成了,之后的是希望尽一点微薄之力多帮助LZ一些之后的内容选读:
4. LZ在之前提到了 break的用法,我猜想LZ也不希望这个程序只能出一道题就结束了,想让这个程序一直出题,直到我们不想做了为止,这时候我们就需要将循环 while (True)和 break结合使用,换句话说,当需要继续的时候正常运行,当想要结束的时候 break。之后我会附代码,详情参看代码;
5. Python中函数 def的使用,这一块的内容就是将LZ的程序功能写入一个函数中,方便调用,没有什么特别的,详情参看代码。

最后附上代码
希望能帮到你

Math.txt

1.09 KB

小程序源代码

已有 1 人评分论坛币 收起 理由
admin_kefu + 20 热心帮助其他会员

总评分: 论坛币 + 20   查看全部评分

使用道具

藤椅
python爱好者 发表于 2016-11-12 09:16:53 |只看作者 |坛友微信交流群
break  是退出循环,才能用。

使用道具

板凳
python爱好者 发表于 2016-11-12 09:21:16 |只看作者 |坛友微信交流群
帮你修改了,问题出在二个方面
1、break 只用在退出循环。
2、input() 函数读的是字符串,需要用int()转换为整数

Snip20161112_70.png (102.46 KB)

Snip20161112_70.png

已有 1 人评分论坛币 收起 理由
admin_kefu + 20 热心帮助其他会员

总评分: 论坛币 + 20   查看全部评分

使用道具

报纸
tianjixuetu 在职认证  发表于 2016-11-12 17:31:28 |只看作者 |坛友微信交流群
IT小渣渣 发表于 2016-11-12 02:07
1. 根据LZ所描述的需求和编写的程序,大致理解下LZ的想法 (因为需求实在是太短了,而且跟程序中反应出的 ...
谢谢大神

使用道具

地板
tianjixuetu 在职认证  发表于 2016-11-12 17:31:59 |只看作者 |坛友微信交流群
python爱好者 发表于 2016-11-12 09:16
break  是退出循环,才能用。
谢谢大神

使用道具

7
tianjixuetu 在职认证  发表于 2016-11-12 17:32:20 |只看作者 |坛友微信交流群
python爱好者 发表于 2016-11-12 09:21
帮你修改了,问题出在二个方面
1、break 只用在退出循环。
2、input() 函数读的是字符串,需要用int()转换 ...
谢谢大神

使用道具

8
tianjixuetu 在职认证  发表于 2016-11-12 17:46:59 |只看作者 |坛友微信交流群
IT小渣渣 发表于 2016-11-12 02:07
1. 根据LZ所描述的需求和编写的程序,大致理解下LZ的想法 (因为需求实在是太短了,而且跟程序中反应出的 ...
搜狗截图16年11月12日1739_2.png
大神,代码还需要调试一下。你一开始定义了一个math()函数,按照你的代码运行,只能看得到最后一句让选择1或者2的。
谢谢你的循环,这样就不用每次运行一次了,可以一直锻炼。

今天,我持续不断地改进自己,在各方面,我会越来越好!

使用道具

9
python爱好者 发表于 2016-11-15 10:33:34 |只看作者 |坛友微信交流群
tianjixuetu 发表于 2016-11-12 17:46
大神,代码还需要调试一下。你一开始定义了一个math()函数,按照你的代码运行,只能看得到最后一句让选 ...
你这个是自己琢磨,没有人带,容易走偏路。
这样简单的问题,代码写成你这样的,不合格啊。

使用道具

10
tianjixuetu 在职认证  发表于 2016-11-15 10:46:09 |只看作者 |坛友微信交流群
python爱好者 发表于 2016-11-15 10:33
你这个是自己琢磨,没有人带,容易走偏路。
这样简单的问题,代码写成你这样的,不合格啊。
初学的,搞定了,生成了一个exe文件

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-20 15:58