日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

python编程剪刀石头布思路_剪刀石头布小习题三种语言python2、php、go代码

發布時間:2023/12/31 php 61 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python编程剪刀石头布思路_剪刀石头布小习题三种语言python2、php、go代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

剪刀石頭布小習題三種語言python2、php、go代碼

# coding:utf-8

"""

python核心編程6-14習題的解題思路

設計一個"石頭,剪子,布"游戲,有時又叫"Rochambeau",你小時候可能玩過,下面是規則.

你和你的對手,在同一時間做出特定的手勢,必須是下面一種手勢:石頭,剪子,布.勝利者從

下面的規則中產生,這個規則本身是個悖論.

(a) 布包石頭.

(b)石頭砸剪子,

(c)剪子剪破布.在你的計算機版本中,用戶輸入她/他的選項,計算機找一個隨機選項,然后由你

的程序來決定一個勝利者或者平手.注意:最好的算法是盡量少的使用 if 語句.

python培訓 黃哥所寫 python2

"""

import random

guess_list = ["石頭", "剪刀", "布"]

win_combination = [["布", "石頭"], ["石頭", "剪刀"], ["剪刀", "布"]]

while True:

computer = random.choice(guess_list)

people = raw_input('請輸入:石頭,剪刀,布\n').strip()

if people not in guess_list:

people = raw_input('重新請輸入:石頭,剪刀,布\n').strip()

continue

if computer == people:

print "平手,再玩一次!"

elif [computer, people] in win_combination:

print "電腦獲勝!"

else:

print "人獲勝!"

break

/*

本代碼由python視頻培訓班黃哥所寫。

python核心編程6-14習題,用php寫一遍。

在linux下終端運行 php test.php

本代碼在mac下測試運行無誤。

總計:這個代碼是根據本人所寫python代碼修改過來的

學會一種編程語言,再學第二種,就很容易,為啥?

編程思路是一樣的。

*/

$my_array = array("石頭","剪刀","布");

$guize = array(array("石頭","剪刀"),array("剪刀","布"),array("布","石頭"));

//上面2個變量定義一個需要輸入的數組,和一個獲勝規則的二維數組

// var_dump($guize);

$rand_keys = array_rand($my_array);

$computer = $my_array[$rand_keys];

//取數組中隨機值

echo $computer . "\n";

// echo $person;

while (True)

{

echo "請輸入: 石頭? 剪刀? 布\n";

$person = trim(fgets(STDIN)) ;

$input = array($computer,$person);

//將輸入的$person和電腦隨機產生的值構造一個數組

//再判斷在不在獲勝規則數組中

if (!(in_array($person,$my_array)))

{

echo "只能輸入'剪刀、石頭,布,請重新輸入'";

continue;

}

if ($computer == $person )

{

echo "平手\n";

}

else if (in_array($input,$guize)) {

echo "電腦勝\n";

}

else

{

echo "人獲勝\n";

break;

}

}

?>

package main

// 將python習題剪刀石頭布修改為go語言的代碼

// 黃哥寫于2014年3月19日北京

import (

"fmt"

"math/rand"

)

// 下面這個函數判斷一個一維slice在不在二維slice中,相當于python中in功能

func exist_in(str1 [][]string, str2 []string) int {

for _, item := range str1 {

if item[0] == str2[0] && item[1] == str2[1] {

return 1

}

}

return 0

}

func main() {

var person string

guess_list := []string{"石頭", "剪刀", "布"}

Win := [][]string{{"布", "石頭"}, {"石頭", "剪刀"}, {"剪刀", "布"}}

for {

num := rand.Intn(len(guess_list))

computer := guess_list[num]

fmt.Println(computer)

fmt.Println("請輸入'石頭,剪刀,布'")

fmt.Scanf("%s\n", &person)

input := []string{computer, person} //構造一個一維slice

if computer == person {

fmt.Println("平手!")

} else if exist_in(Win, input) > 0 {

fmt.Println("電腦獲勝")

} else {

fmt.Println("人獲勝")

break

}

}

}

有疑問加站長微信聯系(非本文作者)

總結

以上是生活随笔為你收集整理的python编程剪刀石头布思路_剪刀石头布小习题三种语言python2、php、go代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。