鱼C论坛

 找回密码
 立即注册
查看: 582|回复: 9

[已解决]新手求住python函数参数设置问题

[复制链接]
发表于 2018-10-15 20:40:40 | 显示全部楼层 |阅读模式

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

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

x
就是想编个猜数字游戏可以仔细设定游戏数字的范围,下面是我写的问题不是错在哪里?请指正谢谢,如何修改可以
def caishuzi(n)  
import random
a=random.randint(1,n)
b=input("请输入你猜测的数字:")
guess=int(b)
while guess!=b:
    b=input("猜错了,换个数试试")
    guess=int(b)
    if guess>a:
        print("猜大了")
    else:
        print("猜小了")
    if guess==a:
            print("恭喜你猜对了!")
            print("你真厉害!!!")
            print("游戏结束")
            break

运行结果提示的错误看不明白,感觉跟MATlab里的函数参数设置不一样有区别
>>> caishuzi(5)
Traceback (most recent call last):
  File "<pyshell#45>", line 1, in <module>
    caishuzi(5)
NameError: name 'caishuzi' is not defined
最佳答案
2018-10-15 20:48:39
架构有问题
  1. import random
  2. def caishuzi(n):
  3.     a=random.randint(1,n)
  4.     while 1:
  5.         b=input("请输入你猜测的数字:")
  6.         guess=int(b)
  7.         if guess>a:
  8.             print("猜大了")
  9.         else:
  10.             print("猜小了")
  11.         if guess == a:
  12.                 print("恭喜你猜对了!")
  13.                 print("你真厉害!!!")
  14.                 print("游戏结束")
  15.                 break

  16. caishuzi(10)  #要调用呀
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-10-15 20:48:39 | 显示全部楼层    本楼为最佳答案   
架构有问题
  1. import random
  2. def caishuzi(n):
  3.     a=random.randint(1,n)
  4.     while 1:
  5.         b=input("请输入你猜测的数字:")
  6.         guess=int(b)
  7.         if guess>a:
  8.             print("猜大了")
  9.         else:
  10.             print("猜小了")
  11.         if guess == a:
  12.                 print("恭喜你猜对了!")
  13.                 print("你真厉害!!!")
  14.                 print("游戏结束")
  15.                 break

  16. caishuzi(10)  #要调用呀
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-15 20:57:13 | 显示全部楼层

caishuzi(10)
Traceback (most recent call last):
  File "<pyshell#48>", line 1, in <module>
    caishuzi(10)
NameError: name 'caishuzi' is not defined
我运行了还是不行啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-15 21:02:03 | 显示全部楼层
ahu250 发表于 2018-10-15 20:57
caishuzi(10)
Traceback (most recent call last):
  File "", line 1, in


你不是用我给你的代码,你的函数定义少了冒号~
然后你的缩进错误
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-15 21:54:33 | 显示全部楼层
2683241343 发表于 2018-10-15 21:43
import random
def caishuzi(n):
    a = random.randint(1,n)

谢谢了,已经解决
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-10-15 21:57:43 | 显示全部楼层
import random
def caishuzi(n):
    a=random.randint(1,n)
    b=input("请输入你猜测的数字:")
    guess=int(b)
    while guess!=b:
     b=input("猜错了,换个数试试")
     guess=int(b)
     if guess>a:
        print("猜大了")
     else:
        print("猜小了")
     if guess==a:
            print("恭喜你猜对了!")
            print("你真厉害!!!")
            print("游戏结束")
            break
最终解决谢谢大家,但是感觉对python的缩进规则还是一头雾水,不止有哪位大神能指点迷津不
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-15 22:02:10 | 显示全部楼层
2683241343 发表于 2018-10-15 21:59
这个程序内部有一点问题,先执行如果输入数字 guess == a  还是会先执行else   输出猜小了   再输出恭喜 ...

没有改得很细,只是说你是进入循环之后,才来判断答案是否一致
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 11:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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