社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

函数调用期间未调用Python input()

sovietcitrus • 3 年前 • 1473 次点击  

这是我为提高Python技能而编写的一个基于文本的简单游戏的代码片段。 我打算用 input_check() 为了简化我稍后将在项目中编写的许多代码,但我目前无法使其正常工作。我在最新的VS主代码上运行它,扩展名为Pylance,它不会在我的代码中标记任何错误。我已经进行了多次测试以确保 输入检查() 这就是问题所在,删除它并简单地多次运行代码就可以了。

import time

def rules():
  print("The rules of this game are:")
  time.sleep(0.5)
  print("rules")
  time.sleep(0.5)
  print("rules")
  time.sleep(0.5)
  print("rules")
  time.sleep(0.5)
  print("rules")
  time.sleep(0.5)
  print("rules")
  time.sleep(0.5)
  input_check("Do you understand?\n", rules(), "Ok. Starting game...")
  
def input_check(question: str, function, confirmation: str):  
  yes_no = input(question)

  if yes_no.lower() == "n" or "no":
    function
  elif yes_no.lower() == "y" or "yes":
    print(confirmation)
    time.sleep(1)
  else:
    print("Invalid input.")
    input_check(question, function, confirmation)


input_check("Do you know the rules?\n", rules(), "Ok. Starting game...") 

我几乎是Python的新手,所以我不知道 function 参数,然后将其作为函数运行 输入检查() 行不行,但这不是问题所在。

应该有一个提示运行来定义 yes_no 具有 input() 但它从来没有达到这个程度。相反,它似乎跳到了跑步的前面 rules() (只有在用户输入“否”或“n”时才会发生这种情况),以及 规则() 连续运行直到停止,完全跳过 输入检查() .

我的问题是:

  1. 为什么 输入检查() 完全被忽视?
  2. 你能按原样运行作为参数的代码吗 作用 参数)或者我需要额外的步骤来运行它吗?
  3. 有没有更好/更有效的方法?(例如,一个解析输入的软件包,可以避免生成自己的函数)
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/129819
 
1473 次点击  
文章 [ 5 ]  |  最新文章 3 年前