鱼C论坛

 找回密码
 立即注册
查看: 1111|回复: 5

[已解决]求职 零基础入门python课后作业33讲

[复制链接]
发表于 2020-4-15 18:03:07 | 显示全部楼层 |阅读模式

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

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

x
动动手 0 0. 还记得我们第一个小游戏吗?只要用户输入非整型数据,程序立刻就会蹦出不和谐的异常信息然后崩溃。请使用刚学的异常处理方法修改以下程序,提高用户体验。

代码

import random

secret = random.randint(1,10)
print('------------------我爱鱼C工作室------------------')
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
try:   
    guess = int(temp)
except ValueError:
    print('输入错误!')
    guess = secret    #为什么要将guess指向secret呢?????
while guess != secret:
    temp = input("哎呀,猜错了,请重新输入吧:")
    guess = int(temp)
    if guess == secret:
        print("我草,你是小甲鱼心里的蛔虫吗?!")
        print("哼,猜中了也没有奖励!")
    else:
        if guess > secret:
            print("哥,大了大了~~~")
        else:
            print("嘿,小了,小了~~~")
print("游戏结束,不玩啦^_^")
最佳答案
2020-4-15 18:07:05
    print('输入错误!')1.
    guess = secret   2.
while guess != secret: 3. 由于guess == secret 所以不循环
print("游戏结束,不玩啦^_^") 4.

看代码不能看一句。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-4-15 18:07:05 | 显示全部楼层    本楼为最佳答案   
    print('输入错误!')1.
    guess = secret   2.
while guess != secret: 3. 由于guess == secret 所以不循环
print("游戏结束,不玩啦^_^") 4.

看代码不能看一句。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-15 18:24:18 | 显示全部楼层
ba21 发表于 2020-4-15 18:07
print('输入错误!')1.
    guess = secret   2.
while guess != secret: 3. 由于guess == secret 所 ...

如果改成 guess==secret 运行,
报错:
不妨猜一下小甲鱼现在心里想的是哪个数字:a
输入错误!
Traceback (most recent call last):
  File "/Users/rolin/aa.py", line 7, in <module>
    guess = int(temp)
ValueError: invalid literal for int() with base 10: 'a'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/rolin/aa.py", line 10, in <module>
    guess == secret
NameError: name 'guess' is not defined
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-15 18:53:22 | 显示全部楼层
  1. import random

  2. secret = random.randint(1,10)
  3. print('------------------我爱鱼C工作室------------------')
  4. temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
  5. try:   
  6.     guess = int(temp)
  7. except ValueError:
  8.     print('输入错误!')
  9.     guess = secret
  10. while guess != secret:
  11.     temp = input("哎呀,猜错了,请重新输入吧:")
  12.     guess = int(temp)
  13.     if guess == secret:
  14.         print("我草,你是小甲鱼心里的蛔虫吗?!")
  15.         print("哼,猜中了也没有奖励!")
  16.     else:
  17.         if guess > secret:
  18.             print("哥,大了大了~~~")
  19.         else:
  20.             print("嘿,小了,小了~~~")
  21. print("游戏结束,不玩啦^_^")
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-15 18:54:28 | 显示全部楼层
aaawrl 发表于 2020-4-15 18:24
如果改成 guess==secret 运行,
报错:
不妨猜一下小甲鱼现在心里想的是哪个数字:a

1 2 3 4
看代码不能看一句。

这么说你还能看不懂?你还拿解释来运行?
我什么时候跟你说了改成 guess==secret
仔细看看解释吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-16 06:52:34 | 显示全部楼层
ba21 发表于 2020-4-15 18:54
1 2 3 4
看代码不能看一句。

我看懂 1234 啦!就是没想懂为什么写 guess==secret 会报错 NameError: name 'guess' is not defined
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-15 10:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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