python - 我在 python 中创建了猜谜游戏,但它给出了一个索引错误
问题描述
from random import randint
import sys
answer = randint(int(sys.argv[1]), int(sys.argv[2]))
while True:
try:
guess = int(input(f'guess a number {sys.argv[1]}~{sys.argv[2]}: '))
if 0 < guess < 11:
if guess == answer:
print('you are a genius!')
break
else:
print('hey bozo, I said 1~10')
except ValueError:
print('please enter a number')
continue
但它在第 5 行给出了一个索引错误!该怎么办
解决方案
您没有传递足够的参数。在访问它们的位置之前,您应该检查 argv 的长度:
if len(sys.argv) != 3:
print(f'Not enought params usage: {sys.argv[0]} min_value max_value')
exit(-1)
推荐阅读
- javascript - NodeJS 将数据从当前页面传递到另一个页面
- javascript - 在减少之后按字段分组在 JavaScript 中不起作用
- node.js - 没有从 Axios 和 curl 调用到特定站点的数据
- javascript - 如何使用socket.io nodejs以角度8打开弹出窗口
- c++ - 将原始文件添加到 .gitignore
- mysql - 使用 mysql 查询从日期、间隔和期间的集合中计算订阅结束日期?
- ios - 如何从 Swift 5 中的资产文件夹创建图像数组?
- c - 无效 *ptr = (int *)&a; 它不是对指针进行类型转换吗
- javascript - jQuery:选择标签期望一个ID
- c# - 选择要使用的 .NET Core 版本