猜字符游戏: * 1.随机生成5个不重复的大写字母,如:DUYAZ genrateArray * 2.玩家在控制台猜5个字符 * 3.提示猜对字符的个数和猜对位置的个数 * 如 :玩家猜UBAMZ则提示猜对3个字符,猜对1个位置 * 4.初始500分 猜错一次扣10分 分数为0则游戏结束
时间: 2024-02-01 16:13:37 浏览: 14
好的,这个游戏任务可以分为以下几个步骤:
1. 随机生成5个不重复的大写字母:
```python
import random
def generateArray():
letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
array = random.sample(letters, 5)
return array
```
2. 让玩家输入5个字符:
```python
def guess():
guess = input("请输入5个大写字母:")
guess = guess.upper() # 将输入的字符串转换为大写字母
while len(guess) != 5 or not guess.isalpha():
guess = input("输入不合法,请重新输入:")
guess = guess.upper()
return list(guess)
```
3. 判断猜对字符的个数和猜对位置的个数:
```python
def check(array, guess):
correct_char = 0
correct_position = 0
for i in range(len(array)):
if guess[i] in array:
correct_char += 1
if guess[i] == array[i]:
correct_position += 1
return correct_char, correct_position
```
4. 程序主体,包含游戏的循环和得分计算:
```python
def main():
score = 500
array = generateArray()
print("游戏开始!")
while True:
guess_list = guess()
correct_char, correct_position = check(array, guess_list)
print("猜对了{}个字符,猜对了{}个位置。".format(correct_char, correct_position))
if correct_position == 5:
print("恭喜你,猜对了!")
break
else:
score -= 10
if score == 0:
print("游戏结束,得分为0!")
break
else:
print("猜错了,得分减10!当前得分为{}分。".format(score))
```
完整代码如下:
```python
import random
def generateArray():
letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
array = random.sample(letters, 5)
return array
def guess():
guess = input("请输入5个大写字母:")
guess = guess.upper() # 将输入的字符串转换为大写字母
while len(guess) != 5 or not guess.isalpha():
guess = input("输入不合法,请重新输入:")
guess = guess.upper()
return list(guess)
def check(array, guess):
correct_char = 0
correct_position = 0
for i in range(len(array)):
if guess[i] in array:
correct_char += 1
if guess[i] == array[i]:
correct_position += 1
return correct_char, correct_position
def main():
score = 500
array = generateArray()
print("游戏开始!")
while True:
guess_list = guess()
correct_char, correct_position = check(array, guess_list)
print("猜对了{}个字符,猜对了{}个位置。".format(correct_char, correct_position))
if correct_position == 5:
print("恭喜你,猜对了!")
break
else:
score -= 10
if score == 0:
print("游戏结束,得分为0!")
break
else:
print("猜错了,得分减10!当前得分为{}分。".format(score))
if __name__ == '__main__':
main()
```
希望可以帮助到你!
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)