Python中的变量输入和检测方法问题

2024-06-07 03:19:34 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我正在为一个数字猜测程序编写代码。我被困在代码中的这个what方法上。代码应该接受用户输入userMax和userMin。如果用户输入的不是整数,则该方法将重新提示用户输入新的userMax和userMin。该方法还应该返回变量userMin和userMax。有人能帮我找出我的代码有什么问题吗:

def range():
  print("What range do you want to guess?")
  userMin = input("Min:")
  userMax = input("Max: ")
  while isinstance(userMin, int) and isinstance(userMax, int) == False:
    print("Invalid Input. Try Again.")
    userMin = input("Min:")
    userMax = input("Max:")
  else:
    return userMin, userMax
range() 

Tags: 方法代码用户程序inputrange数字min
2条回答

你应该试试

def ranges():
  print("What range do you want to guess?")
  userMin = input("Min:")
  userMax = input("Max: ")
  try:
    return int(userMin), int(userMax)
  except:
    return ranges()
print(ranges())

输出

What range do you want to guess?                                                                               
Min:4                                                                                                          
Max: d                                                                                                         
What range do you want to guess?                                                                               
Min:                                                                                                           
Max: d                                                                                                         
What range do you want to guess?                                                                               
Min:df                                                                                                         
Max: fs                                                                                                        
What range do you want to guess?                                                                               
Min:3                                                                                                          
Max: 7                                                                                                         
(3, 7)

问题1: 程序的第一个问题是input方法总是返回字符串。因此,isinstance(userMin, int)将始终为假

提示:请参阅stackoverflow post-https://stackoverflow.com/a/23326219/11640763

问题2: 程序正在成功返回变量,但您没有在任何地方打印这些变量。因此,在调用range()函数时,您无法看到返回的变量值

提示:添加一个print语句

相关问题 更多 >