aaawrl 发表于 2020-4-15 18:03:07

求职 零基础入门python课后作业33讲

动动手 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("游戏结束,不玩啦^_^")

ba21 发表于 2020-4-15 18:07:05

    print('输入错误!')1.
    guess = secret   2.
while guess != secret: 3. 由于guess == secret 所以不循环
print("游戏结束,不玩啦^_^") 4.

看代码不能看一句。

aaawrl 发表于 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

老八秘制 发表于 2020-4-15 18:53:22

import random

secret = random.randint(1,10)
print('------------------我爱鱼C工作室------------------')
temp = input("不妨猜一下小甲鱼现在心里想的是哪个数字:")
try:   
    guess = int(temp)
except ValueError:
    print('输入错误!')
    guess = secret
while guess != secret:
    temp = input("哎呀,猜错了,请重新输入吧:")
    guess = int(temp)
    if guess == secret:
      print("我草,你是小甲鱼心里的蛔虫吗?!")
      print("哼,猜中了也没有奖励!")
    else:
      if guess > secret:
            print("哥,大了大了~~~")
      else:
            print("嘿,小了,小了~~~")
print("游戏结束,不玩啦^_^")

ba21 发表于 2020-4-15 18:54:28

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


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

这么说你还能看不懂?你还拿解释来运行?
我什么时候跟你说了改成 guess==secret
仔细看看解释吧

aaawrl 发表于 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
页: [1]
查看完整版本: 求职 零基础入门python课后作业33讲