鱼C论坛

 找回密码
 立即注册
查看: 32957|回复: 599

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

   关闭 [复制链接]
发表于 2017-4-18 17:44:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
今天的题目很简单,也很开放~如果想知道,请回复

游客,如果您要查看本帖隐藏内容请回复



欢迎小伙伴们,一起答题!
如果你有能力,欢迎加入我们!
已经上车老司机:@冬雪雪冬 @lumber2388779 @ooxx7788 @gopythoner
O(≧口≦)O
帅的人都上车了,而丑的人还在犹豫

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-18 17:48:15 | 显示全部楼层
看到题目简单我才来的
要是难,我就举报你,欺骗大众

点评

我很赞同!: 5.0
我很赞同!: 5
我想举报你..............  发表于 2017-4-18 17:49
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2017-4-18 17:48:56 | 显示全部楼层
gopythoner 发表于 2017-4-18 17:48
看到题目简单我才来的
要是难,我就举报你,欺骗大众

大佬,我出过难题吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-18 18:03:24 | 显示全部楼层
新手·ing 发表于 2017-4-18 17:48
大佬,我出过难题吗

这个题目应该是猜数字的延伸吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-18 18:07:05 | 显示全部楼层
gopythoner 发表于 2017-4-18 18:03
这个题目应该是猜数字的延伸吧

有关系吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-18 18:13:25 | 显示全部楼层
坐等楼下高手解答~~~⊙_⊙很好、很强大,这个一定得支持!!!⊙_⊙^_^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-18 18:31:25 | 显示全部楼层
看到你这题目我倒是想到一个有趣的程序,就是通过你不断地和python玩剪刀石头布游戏,让python学习你出的规律,从而预测你下一次会出什么,然后打败你。
其实每个人玩剪刀石头布都是有固定规律的,或者称为潜意识,可能你自己都不一定注意到,但是python可以通过不断的学习发现其中的规律,这一定会是个有意思的项目。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

 楼主| 发表于 2017-4-18 18:38:52 | 显示全部楼层
jerryxjr1220 发表于 2017-4-18 18:31
看到你这题目我倒是想到一个有趣的程序,就是通过你不断地和python玩剪刀石头布游戏,让python学习你出的规 ...

有意思~做出来吧大佬还是打捞
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-18 18:54:06 | 显示全部楼层
?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-18 19:00:03 | 显示全部楼层
开开看看吧。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-18 19:21:14 | 显示全部楼层
看题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-18 19:48:06 | 显示全部楼层
本帖最后由 dori233 于 2017-4-18 20:15 编辑

# -*- coding: utf-8 -*-
from random import randint

guess = randint(1, 3)
while True:
    ask = input('1锤,2剪,3布\n请输入数字:')
    if (ask in '123') and (len(ask) == 1):
        ask = int(ask)
        break
    else:
        print('输入错误,请重新输入')
        continue

gus = ['锤', '剪', '布']
if guess == 1:
    print('电脑出了%s,你出的是%s\n你赢了' % (gus[ask-3], gus[ask-1]))
elif guess == 2:
    print('电脑出了%s,你出的是%s\n你输了' % (gus[ask-2], gus[ask-1]))
else:
    print('电脑出了%s,你出的是%s\n平局!' % (gus[ask-1], gus[ask-1]))
随便想了一下....其实我就是把结果作为最终的想法.
反正只有3个结果,然后不考虑电脑出啥然后比较才赢.
这叫赢在起跑线...
PS:输入编辑了一下.防止超出范围

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 好极了

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-4-18 19:54:53 | 显示全部楼层
在那。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-18 20:08:07 | 显示全部楼层
本帖最后由 ooxx7788 于 2017-4-18 20:16 编辑
import random as r

guess = ['石头', '剪刀', '布', '石头']
player = input(f'{guess[0:3]}:')
while player != 'Q':
    try:
        if player not in guess:
            raise
        CPU = r.choice(guess[0:3])
        print(f'CPU:{CPU}')
        if player == CPU:
            print('Draw!')
        elif guess[guess.index(player) + 1] == CPU:
            print('Player Win!')
        else:
            print('CPU win!')
        player = input(f'{guess[0:3]}:')
    except:
        player = input(f'输入有误!{guess[0:3]}:')

python 3.6才可以用!这题目太简单了,大佬们应该不回答了!
输出:
['石头', '剪刀', '布']:石头
CPU:布
CPU win!
['石头', '剪刀', '布']:剪刀
CPU:石头
CPU win!
['石头', '剪刀', '布']:布
CPU:石头
Player Win!
['石头', '剪刀', '布']:Q

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 咳咳,人家大佬要做深度学习呢

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-18 20:12:11 | 显示全部楼层
from random import *
robot_choice_text = ['石头','剪刀','布']
while True:    
    robot_choice = choice(robot_choice_text)
    player_choice = input('石头剪刀布(输入退出来退出程序):')
    if player_choice not in robot_choice_text:
            print('请输入石头或剪刀或布!')
    if player_choice == robot_choice:
            print('平局啦!')
            print('机器人选择的是%s!' % (robot_choice))
    if player_choice == '石头' and robot_choice == '剪刀':
            print('你赢啦!')
            print('机器人选择的是%s!' % (robot_choice))
    elif player_choice == '石头' and robot_choice == '布':
            print('你输啦!')
            print('机器人选择的是%s!' % (robot_choice))
    if player_choice == '剪刀' and robot_choice == '布':
            print('你赢啦!')
            print('机器人选择的是%s!' % (robot_choice))
    elif player_choice == '剪刀' and robot_choice == '石头':
            print('你输啦!')
            print('机器人选择的是%s!' % (robot_choice))
    if player_choice == '布' and robot_choice == '石头':
            print('你赢啦!')
            print('机器人选择的是%s!' % (robot_choice))
    elif player_choice == '布' and robot_choice == '剪刀':
            print('你输啦!')
            print('机器人选择的是%s!' % (robot_choice))
    if player_choice == '退出':
            print('退出成功!')
            break
        
我这个没做什么技巧,新手都能看懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-18 20:18:33 | 显示全部楼层
新手·ing 发表于 2017-4-18 20:12
我这个没做什么技巧,新手都能看懂

你自己说的简洁呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-18 21:06:53 | 显示全部楼层
简单的题就做一下。
import random
list1 = ['石头', '剪刀', '布']
list2 = ['平局', '计算机赢了', '你赢了']
while True:
    computer = random.randint(0, 2)
    human = input('开始猜拳,请输入0:石头,1:剪刀,2:布。仅输入回车退出:')
    if human == '':
        break
    human = int(human)
    result = (human - computer) % 3
    print('计算机出的是%s, 你出的是%s, %s'%(list1[computer], list1[human], list2[result]))
开始猜拳,请输入0:石头,1:剪刀,2:布。仅输入回车退出:0
计算机出的是剪刀, 你出的是石头, 你赢了
开始猜拳,请输入0:石头,1:剪刀,2:布。仅输入回车退出:1
计算机出的是剪刀, 你出的是剪刀, 平局
开始猜拳,请输入0:石头,1:剪刀,2:布。仅输入回车退出:1
计算机出的是布, 你出的是剪刀, 你赢了
开始猜拳,请输入0:石头,1:剪刀,2:布。仅输入回车退出:2
计算机出的是剪刀, 你出的是布, 计算机赢了
开始猜拳,请输入0:石头,1:剪刀,2:布。仅输入回车退出:2
计算机出的是石头, 你出的是布, 你赢了
开始猜拳,请输入0:石头,1:剪刀,2:布。仅输入回车退出:0
计算机出的是剪刀, 你出的是石头, 你赢了

点评

我很赞同!: 5.0
我很赞同!: 5
天啊  发表于 2017-4-18 21:07

评分

参与人数 1鱼币 +1 收起 理由
mstplay + 1 原來可以這樣寫

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 10 反对 0

使用道具 举报

发表于 2017-4-18 21:52:57 | 显示全部楼层
本帖最后由 gopythoner 于 2017-4-18 21:55 编辑

来吧,石头剪刀布
import random

def guess():
    dic = {"石头":1,"剪刀":2,"布":3}
    while True:
        x = random.choice(["石头","剪刀","布"])
        xnum = dic[x]
        guess = input("来玩石头剪刀布吧!我已经秘密的出完了,快说出你出什么:")
        if guess != "石头" and guess != "剪刀" and guess != "布":
            print("说好的玩石头剪刀布呢?你会不会出,不会就别玩了,去玩王者农药吧!!!")
        elif guess == x:
            print("我们出的都是“{}”,打平了,继续来玩吧!".format(guess))
        elif dic[guess]-xnum == -1 or dic[guess]-xnum == 2:
            print("你出的是“{}”,我出的是“{}”,你赢了!".format(guess,x))
        else:
            print("你出的是“{}”,我出的是“{}”,我赢了!".format(guess,x))
guess()


看我玩的
来玩石头剪刀布吧!我已经秘密的出完了,快说出你出什么:石头
你出的是“石头”,我出的是“布”,我赢了!
来玩石头剪刀布吧!我已经秘密的出完了,快说出你出什么:石头
我们出的都是“石头”,打平了,继续来玩吧!
来玩石头剪刀布吧!我已经秘密的出完了,快说出你出什么:石头
你出的是“石头”,我出的是“剪刀”,你赢了!
来玩石头剪刀布吧!我已经秘密的出完了,快说出你出什么:石头
你出的是“石头”,我出的是“布”,我赢了!
来玩石头剪刀布吧!我已经秘密的出完了,快说出你出什么:不玩
说好的玩石头剪刀布呢?你会不会出,不会就别玩了,去玩王者农药吧!!!
来玩石头剪刀布吧!我已经秘密的出完了,快说出你出什么:石头
你出的是“石头”,我出的是“剪刀”,你赢了!
来玩石头剪刀布吧!我已经秘密的出完了,快说出你出什么:石头
我们出的都是“石头”,打平了,继续来玩吧!
来玩石头剪刀布吧!我已经秘密的出完了,快说出你出什么:

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-18 21:53:43 | 显示全部楼层
gopythoner 发表于 2017-4-18 21:52
来吧,石头剪刀布

你们写的中文真有趣
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-18 21:56:51 | 显示全部楼层
新手·ing 发表于 2017-4-18 21:53
你们写的中文真有趣

看我的,我改简单了,之前那个随机出的我改用x = random.choice(["石头","剪刀","布"])一句搞定了,之前忘了这个函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-21 21:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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