如何将输入变量除以2?Python代码第7、14行问题求助
问题修复:实现随机数除以2的验证功能
原代码核心问题
- 第7行:
QA = input('Press "K" key to begin')逻辑错误:input会等待用户输入回车,和keyboard.is_pressed('K')的键盘监听逻辑冲突,且QA存储的是无效输入内容,并非后续需要的答案。 - 第14行:判断逻辑完全失效:未接收用户输入的除法结果,用错误变量QA做比较;Number本身是整数,无需
int(Number);用户输入的字符串未转成数值,无法和除法结果(浮点数/整数)比较;随机数可能生成奇数,不符合"可被2整除"的需求。
修复后的代码
import keyboard import random def main(): # 生成1-99之间的偶数,确保可以被2整除 number = random.randrange(2, 100, 2) start = False print('Press "K" key to begin') # 循环监听K键,直到用户按下 while not start: if keyboard.is_pressed('K'): start = True input('I\'m thinking of a random number and I want that number divisible by two\nPress Enter to continue') print(f"The number is: {number}") # 接收用户输入的答案并转为整数 user_answer = int(input('Please divide this by two: ')) # 验证答案是否正确 if user_answer == number / 2: print("Correct!") else: print("Wrong answer!") main()
修复说明
- 移除函数参数中无用的Number和Start,直接在函数内部初始化变量
- 用
random.randrange(2, 100, 2)生成指定范围的偶数,避免出现无法被2整除的情况 - 替换原有的错误input+键盘判断逻辑,用循环监听K键直到用户按下
- 正确接收用户输入的除法结果,并转换为整数类型
- 修正答案判断逻辑,使用正确的变量和类型匹配
- 优化提示语,让流程更清晰直观
内容的提问来源于stack exchange,提问作者Cruton246
相关产品推荐
相关产品推荐

