【发布时间】:2022-06-15 23:58:17
【问题描述】:
- 我们想要创建一个程序,提示用户输入一个介于 1 和 10 之间的数字。只要数字超出范围,程序就会重新提示用户输入有效数字。完成以下步骤来编写此代码。
a.编写一行代码,提示用户输入 1 到 10 之间的数字。
number = float(input("Enter a number between 1 and 10: "))
b.编写一个布尔表达式,测试用户在步骤“a”中输入的数字。判断它是否不在范围内。
x = (number > 10 or number < 1)
c. 使用在步骤 b 中创建的布尔表达式编写一个 while 循环,当用户输入超出范围时执行该循环。循环的主体应该告诉用户他们输入了一个无效的数字,并再次提示他们输入一个有效的数字。
while x == True:
print("you printed an invalid number")
number = float(input("please enter the number again, this time between 1 and 10"))
d.编写代码,打印一条消息,告诉用户他们输入了一个有效数字。
if x == False:
print("wow, you printed a number between 1 and 10!")
我回答了问题的内容,但我的问题是,每当用户在第一次尝试时输入错误的数字并在第二次尝试时输入正确的数字时,程序仍将其视为无效输入。我该如何解决这个问题???
【问题讨论】:
-
你能把你的脚本分享为一个块吗?然后社区可以轻松复制粘贴进行调试。
-
如果你输入一个新的数字,你需要更新
x的值。 -
如果您只分配给
x一次,那么它就只有一个值。如果你想让x取一个新值,那么你应该再次分配给它。你的老师写了四个步骤来帮助你编程,而不是因为每个步骤对应于不同的代码“块”。例如,(c) 中的 while 循环可能包含 (a) 和 (b) 的代码。
标签: python