python - 如何在代码中构建循环,直到输入预期的输入?
问题描述
我的代码在下面,它提示输入所需的信息,但是如果/当用户第一次被重新提示重新输入游戏数量时,如果它不是预期的数字,我不知道如何重新循环/保持问这个问题?
print('Welcome to my Rock, Paper, Scissors Game!')
print ()
user_action = eval(input('Enter Number of Games -- Odd Number between 3 and 11:'))
REMAINDER = user_action % 2
if REMAINDER != 0:
if user_action > 3 or user_action < 13:
print()
print()
print("Game 1 \n Enter (R)ock, (P)aper, or (S)cissors")
else:
print("\"Sorry, try again. \n Enter the Number of Games -- Off Number 3 to 11")
print
print`enter code here`
user_action = eval(input('Enter Number of Games -- Odd Number between 3 and 11:'))
解决方案
启动 If/Elif 语句。例如。'If' 包含游戏数量的范围值。'Elif' 包含用户输入的数字是否超出范围。然后在“Elif”中开始一个“While Loop”。在循环内部,要求用户提供另一个输入。要检查此输入是否正确,请使用与以前相同的条件再次执行 If/Elif。这次如果满足“如果”,则“中断”循环。如果满足“Elif”,则在“While Loop”变量中进行增量。
这会做什么?首先它将检查输入是否在范围内。如果是,那么没有问题。如果否,那么它将开始一个循环,该循环将不断要求用户正确输入。一旦它得到正确的输入,它就会从那个循环中跳出来,你会得到一个完美定义的输入。
推荐阅读
- sql - 如何将多个表合并到一个表中,使列名成为行名?
- assembly - 使用 mips 交换奇偶位
- python - 如果调用者是 Google App Engine,如何仅在 Django 中运行 Google App Engine cronjobs?
- julia - 创建整数和缺失值的向量
- java - NAS 文件夹位置
- python - 为什么为每个模块设置日志级别不会在我的代码中显示日志?
- oracle - 根据跨日期范围对订单进行分组
- firebase - Firebase Cloud Functions 部署错误,错误代码为“NoSuchKey”
- reactjs - 如何使用消息挂钩将值推送到数组中
- json - 如何使用 Observable 从文件中获取 json 数据