编写一个函数,实现剪刀、石头、布的游戏玩家本人输入1、2、3分别代表剪刀、石头、布
时间: 2023-10-07 10:12:39 浏览: 49
以下是Python代码实现:
```python
import random
def game(player):
computer = random.randint(1, 3)
if player == computer:
print("平局")
elif (player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1):
print("你输了")
else:
print("你赢了")
player = int(input("请输入1、2、3分别代表剪刀、石头、布:"))
if player not in [1, 2, 3]:
print("输入有误")
else:
game(player)
```
首先,我们导入了Python的`random`模块,用于生成计算机出拳的随机数。然后,我们定义了一个名为`game`的函数,接受玩家出拳的数字作为参数。
在函数中,我们首先生成计算机出拳的数字,然后根据玩家出拳的数字和计算机出拳的数字进行比较,判断胜负关系。如果玩家和计算机出拳的数字相同,即为平局;否则,根据游戏规则判断胜负。
最后,我们从用户输入中获取玩家出拳的数字,如果输入有误,则输出提示信息;否则,调用`game`函数进行游戏。
相关问题
编写shell函数 实现剪刀石头布
好的,以下是一个使用 Shell 函数实现剪刀石头布游戏的示例:
```bash
#!/bin/bash
function play_game {
options=("剪刀" "石头" "布")
random_index=$((RANDOM % 3))
computer_choice=${options[random_index]}
echo "欢迎来到剪刀石头布游戏!"
echo "请出拳:剪刀、石头、布"
read user_choice
echo "你出了:$user_choice"
echo "电脑出了:$computer_choice"
if [ "$user_choice" == "$computer_choice" ]; then
echo "平局!"
elif [ "$user_choice" == "剪刀" ] && [ "$computer_choice" == "布" ]; then
echo "你赢了!"
elif [ "$user_choice" == "石头" ] && [ "$computer_choice" == "剪刀" ]; then
echo "你赢了!"
elif [ "$user_choice" == "布" ] && [ "$computer_choice" == "石头" ]; then
echo "你赢了!"
else
echo "你输了!"
fi
}
play_game
```
这个脚本定义了一个名为 `play_game` 的函数,该函数会随机生成电脑的出拳,并等待用户输入自己的出拳,最后输出比赛结果。你可以在脚本中调用该函数,以开始一次新的游戏。
编写shell函数 实现剪刀石头布 有几种方法
以下是几种使用 Shell 函数实现剪刀石头布游戏的方法:
方法一:使用 if-elif-else 语句实现
```bash
#!/bin/bash
function play_game {
options=("剪刀" "石头" "布")
random_index=$((RANDOM % 3))
computer_choice=${options[random_index]}
echo "欢迎来到剪刀石头布游戏!"
echo "请出拳:剪刀、石头、布"
read user_choice
echo "你出了:$user_choice"
echo "电脑出了:$computer_choice"
if [ "$user_choice" == "$computer_choice" ]; then
echo "平局!"
elif [ "$user_choice" == "剪刀" ] && [ "$computer_choice" == "布" ]; then
echo "你赢了!"
elif [ "$user_choice" == "石头" ] && [ "$computer_choice" == "剪刀" ]; then
echo "你赢了!"
elif [ "$user_choice" == "布" ] && [ "$computer_choice" == "石头" ]; then
echo "你赢了!"
else
echo "你输了!"
fi
}
play_game
```
方法二:使用 case 语句实现
```bash
#!/bin/bash
function play_game {
options=("剪刀" "石头" "布")
random_index=$((RANDOM % 3))
computer_choice=${options[random_index]}
echo "欢迎来到剪刀石头布游戏!"
echo "请出拳:剪刀、石头、布"
read user_choice
echo "你出了:$user_choice"
echo "电脑出了:$computer_choice"
case "$user_choice $computer_choice" in
"剪刀 布" | "石头 剪刀" | "布 石头")
echo "你赢了!"
;;
"剪刀 石头" | "石头 布" | "布 剪刀")
echo "你输了!"
;;
*)
echo "平局!"
;;
esac
}
play_game
```
方法三:使用数组和循环实现
```bash
#!/bin/bash
function play_game {
options=("剪刀" "石头" "布")
random_index=$((RANDOM % 3))
computer_choice=${options[random_index]}
echo "欢迎来到剪刀石头布游戏!"
echo "请出拳:剪刀、石头、布"
read user_choice
echo "你出了:$user_choice"
echo "电脑出了:$computer_choice"
for i in "${!options[@]}"; do
if [ "${options[$i]}" == "$user_choice" ]; then
user_index=$i
fi
if [ "${options[$i]}" == "$computer_choice" ]; then
computer_index=$i
fi
done
diff=$(($user_index - $computer_index))
if [ "$diff" == "0" ]; then
echo "平局!"
elif [ "$diff" == "-1" ] || [ "$diff" == "2" ]; then
echo "你赢了!"
else
echo "你输了!"
fi
}
play_game
```
注意,以上三种方法都是基于 Bash Shell 实现的,可在 Linux 和 macOS 等系统中运行。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)