QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码
楼主: 新手·ing

[技术交流] Python:每日一题 30(答题领鱼币)

  [复制链接]
最佳答案
123 
累计签到:27 天
连续签到:1 天
发表于 2017-4-18 21:57:37 | 显示全部楼层
新手·ing 发表于 2017-4-18 21:53
你们写的中文真有趣

我说了这个就是猜数字的延伸吧,其实是一样的道理,只不过这个不是仅仅比较是否相等
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:2 天
连续签到:1 天
发表于 2017-4-18 23:12:54 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
53 
累计签到:348 天
连续签到:2 天
发表于 2017-4-19 00:51:38 | 显示全部楼层
新手·ing 发表于 2017-4-18 18:38
有意思~做出来吧大佬还是打捞

我稍微简化了一下,用123表示石头剪刀布,程序只是用来预测下一步会出什么,其实只要预测出来了,那么就必定能获胜了。
我根据自己的习惯输入了300组数据进行训练,经过1000次学习以后,机器的预测成功率达到了80%,还是相当不错的。

用了循环神经网络。

源代码:
  1. #coding:utf-8
  2. import numpy as np

  3. from keras.models import Sequential
  4. from keras.layers import Dense, LSTM, TimeDistributed
  5. from keras.optimizers import Adam


  6. inputs = '1231231231231123123123131231231332123131312312312313131231312312313131312313131321231312312313132312313131231313131323123123123131312313123131321231231231231321313123131231231231232131231321231312312313123123132123131321321312313213212312313131313131231231312312313123123123123123123131323131312313123123123123123123'

  7. data = list(inputs)
  8. x_data = np.array(data).reshape((-1,1,1))

  9. model = Sequential()
  10. model.add(LSTM(
  11.         output_dim = 200,
  12.         batch_input_shape = (25,1,1),
  13.         return_sequences = True,
  14.         stateful = True))

  15. model.add(TimeDistributed(Dense(1)))

  16. adam = Adam(lr=0.01)

  17. model.compile(optimizer=adam, loss='mse', metrics=['accuracy'])

  18. model.fit(x_data[:250], x_data[1:251], batch_size=25, epochs=1000)

  19. print model.evaluate(x_data[250:300], x_data[251:301], batch_size=25, verbose=1)
复制代码


输出:[0.15321254730224609, 0.80000001192092896]
#前一个是误差值,后一个是测试的准确率
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:1 天
连续签到:1 天
发表于 2017-4-19 03:03:35 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:4 天
连续签到:4 天
发表于 2017-4-19 07:41:00 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:4 天
连续签到:4 天
发表于 2017-4-19 08:07:18 | 显示全部楼层
import random;
guess_list = ['石头', '剪刀', '布'];
guize = [['石头', '剪刀'], ['剪刀', '布'], ['布', '石头']];

computer = random.choice(guess_list);

print(computer);

people = input("石头, 剪刀, 布:\n").strip();

isTrue = True;

while isTrue:
    if people not in guess_list:
        people = input("石头, 剪刀, 布:\n").strip();
    else:
        isTrue = False;

if people == computer:
    print('draw');
elif [computer, people] in guize:
    print('computer is win');
else:
    print('people is win');
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:2 天
连续签到:2 天
发表于 2017-4-19 08:22:46 From FishC Mobile | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:158 天
连续签到:1 天
发表于 2017-4-19 09:02:11 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
14 
累计签到:204 天
连续签到:4 天
发表于 2017-4-19 09:32:25 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
1 
累计签到:23 天
连续签到:1 天
发表于 2017-4-19 09:36:54 | 显示全部楼层
import random
def game():
    while True:
        choice = input("input your choice")
        sum_choice = ['石头','剪刀','布']
        s =  random.randint(-1,1)  # -1输 0平 1赢
        computer_choice = sum_choice[sum_choice.index(choice)+s]
        result = ["平","赢",'输']
        print("电脑出的%s,你出的%s,你%s了"%(computer_choice,choice,result[s]))
game()
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
1 
累计签到:23 天
连续签到:1 天
发表于 2017-4-19 09:37:35 | 显示全部楼层
奔跑的小鱼 发表于 2017-4-19 09:36
import random
def game():
    while True:

应该最简便的吧,一个if语句没用
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:17 天
连续签到:1 天
发表于 2017-4-19 09:41:07 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
1 
累计签到:6 天
连续签到:1 天
发表于 2017-4-19 09:55:44 | 显示全部楼层
小版有一手,看题目也冲回复量了
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
1 
累计签到:6 天
连续签到:1 天
发表于 2017-4-19 10:10:23 | 显示全部楼层
  1. import random
  2. bx=[['z','x','c'],['x','c','z'],['c','z','x']]
  3. while True:
  4.     r=input('输入z(石头),x(剪刀),c(布),e(退出):')
  5.     if r =='e':break
  6.     d=random.choice(bx)
  7.     if r ==d[0]:
  8.         print('你赢了')
  9.     elif r==d[1]:
  10.         print('平手,再来')
  11.     else:
  12.         print('你输了')
复制代码
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:47 天
连续签到:1 天
发表于 2017-4-19 10:22:29 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:354 天
连续签到:7 天
发表于 2017-4-19 10:38:25 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:94 天
连续签到:1 天
发表于 2017-4-19 11:02:25 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:170 天
连续签到:1 天
发表于 2017-4-19 11:13:16 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 
累计签到:16 天
连续签到:5 天
发表于 2017-4-19 11:40:43 | 显示全部楼层
既然简单,那我就试试喽,难的话就打你
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!
最佳答案
0 

尚未签到

发表于 2017-4-19 12:48:40 | 显示全部楼层
1. 如果您的提问得到满意的答案,请务必选择【最佳答案】;2. 如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】作为奖励;
3. 善用【论坛搜索】功能,那里可能有您想要的答案;4. 粘贴代码请点击编辑框上的 <> 按钮,否则您的代码可能会被“吃掉”!

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐 上一条 /3 下一条

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.1 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2017-11-20 08:16

快速回复 返回顶部 返回列表