python反复猜数
时间: 2023-11-14 17:12:39 浏览: 42
这是一个使用Python编写的猜数小游戏,程序会随机产生一个0~1024之间的数字,用户需要输入猜测的数字,程序会告诉用户猜大了还是猜小了。如果用户在一定次数内猜对了,就获胜,否则就失败。引用中给出了一个简单的实现代码,而引用则是在此基础上使用异常处理改写的代码,允许用户反复输入数,直至猜中程序选定的数(假定为100)。输入的数如果大于选定的数,则提示"larger than expected";如果小于选定的数,则提示"less than expected";如果用户输入的不是整数,则提示"input error";如果等于选定的数,则输出"you have tried N times, you win"并结束程序。
相关问题
Python 反复猜数(异常处理)
Python 反复猜数是一个简单的猜数字游戏,它使用异常处理来处理用户输入的非法情况。以下是一个示例代码:
```python
import random
def guess_number():
target = random.randint(1, 100)
while True:
try:
guess = int(input("请输入一个1到100之间的整数:"))
if guess < 1 or guess > 100:
raise ValueError("输入的数字超出范围!")
if guess == target:
print("恭喜你,猜对了!")
break
elif guess < target:
print("猜的数字太小了,请再试一次。")
else:
print("猜的数字太大了,请再试一次。")
except ValueError as e:
print(e)
guess_number()
```
在这个游戏中,程序会生成一个1到100之间的随机数作为目标数字。用户需要通过输入猜测的数字来尝试猜中目标数字。如果用户输入的数字超出了范围(小于1或大于100),程序会抛出一个`ValueError`异常,并提示用户重新输入。如果用户猜对了,程序会输出"恭喜你,猜对了!"并结束游戏。如果用户猜的数字比目标数字小,程序会提示"猜的数字太小了,请再试一次。",如果用户猜的数字比目标数字大,程序会提示"猜的数字太大了,请再试一次。"。
python二分法猜数
以下是一个简单的Python二分法猜数的例子:
```python
import random
def binary_search(number, guess_list):
low = 0
high = len(guess_list) - 1
while low <= high:
mid = (low + high) // 2
guess = guess_list[mid]
if guess == number:
return mid
if guess > number:
high = mid - 1
else:
low = mid + 1
return None
if __name__ == '__main__':
guess_list = list(range(1, 101))
number = random.randint(1, 100)
print("请猜测一个1到100之间的数字:")
while True:
guess = int(input())
result = binary_search(guess, guess_list)
if result is None:
print("猜错了,请再试一次:")
elif result == number:
print("恭喜你,猜对了!")
break
elif result < number:
print("猜小了,请再试一次:")
else:
print("猜大了,请再试一次:")
```