首页 > 其他分享 >统计学研硕大数据统计练手10

统计学研硕大数据统计练手10

时间:2024-03-24 23:00:28浏览次数:28  
标签:练手 10 else 语句 elsif 条件 print 硕大 剪刀

统计学Python练手作业10


在这里插入图片描述
AI绘图仅供欣赏

题目

创建一个命令行游戏,游戏者可以在石头、剪刀和布之间进行选择,与计算机PK。每次PK时,游戏者赢了,其得3分;游戏者输了,得-1分;平局时得1分。游戏可人为控制结束,或游戏者得分超过30分时自动结束,当游戏结束时,输出游戏者最终的得分和赢的次数。


以下仅供参考,欢迎指正,共同探讨。

一、程序

代码如下(示例):

import random

n = int(input('局数:'))
print()
for i in range(n):
    choice = ["剪刀", "石头", "布"]
    user = input('请玩家输入(剪刀/石头/布): ')

    com = random.choice(["剪刀", "石头", "布"])

    print("电脑选择了%s" % com)

    print("玩家选择了%s" % user)

    if user not in choice:
        print("输入错误,请重新进入\n")
        break
    else:
        if user == "剪刀" and com == "布":
            print("玩家赢!\n")
            continue
        elif user == "布" and com == "剪刀":
            print("电脑赢!\n")
            continue
        elif user == "剪刀" and com == "石头":
            print("电脑赢!\n")
            continue
        elif user == "石头" and com == "剪刀":
            print("玩家赢!\n")
            continue
        elif user == "石头" and com == "布":
            print("电脑赢!\n")
            continue
        elif user == "布" and com == "石头":
            print("玩家赢!\n")
            continue
        elif user == com:
            print("平局!\n")

二、结果

代码如下(示例):

局数:5

请玩家输入(剪刀/石头/布): 石头
电脑选择了剪刀
玩家选择了石头
玩家赢!

请玩家输入(剪刀/石头/布): 布
电脑选择了布
玩家选择了布
平局!

请玩家输入(剪刀/石头/布): 剪刀
电脑选择了石头
玩家选择了剪刀
电脑赢!

请玩家输入(剪刀/石头/布): 石头
电脑选择了剪刀
玩家选择了石头
玩家赢!

请玩家输入(剪刀/石头/布): 布
电脑选择了布
玩家选择了布
平局!

总结

本题考察综合编程能力,难度较大。参考借鉴思路较多,首先需要理解随机模块内置函数random.choice是什么意思?random.choice 是一个 Python 的内置函数,用于从给定的序列中随机选择一个元素返回。它可以应用于列表、元组、字符串等可迭代对象。

这个函数是存在随机模块random模块中的,主要是针对序列的操作,可以在序列中获取到一个随机的元素,并且最后在返回的时候会是列表、元组或者是字符串中的某一个随机项。

1、random.choice()函数的结构

在使用这个函数之前,我们先了解一下它的基本结构,如下

random.choice(sequence)

在这个函数中,只存在着一个参数,这个参数sequence表示的是一个有序类型。当我们在使用这个函数的时候,需要先导入random模块,因为choice()是不能直接访问的,然后在通过random中的静态对象调用该方法。

放大程序来看

print(random.choice('abcdefghijklmnopqrstuvwxyz!@#$%^&*'))
在字符串中进行随机的选取:
print(random.choice(['剪刀', '石头', '布']))

while循环基本结构。while循环由关键字while、一个条件表达式和一个代码块组成。当条件表达式为True时,代码块将被执行,直到条件表达式变为False为止。

条件表达式。条件表达式是while循环的关键部分,它定义了循环的终止条件。当条件表达式的值为True时,循环体会被执行;否则,循环会停止。

循环体。循环体是包含要执行的代码块的while循环的一部分。您可以在循环体中执行任何需要的操作,例如读取用户输入、计算值或执行其他计算。

break和continue语句。breakcontinue是两个常用的控制流语句,它们可以用于中断或跳过while循环的执行。break语句用于完全停止循环的执行,而continue语句用于跳过当前循环的剩余部分并继续下一次循环。

避免死循环。死循环是指无限循环,即循环条件永远不会变为False,导致程序无法终止。为了避免死循环,您应该确保条件表达式的值最终会变为False。在编写while循环时,请注意检查条件表达式的逻辑。

例如,以下是一个简单的while循环示例:

i = 0

while i < 5:

print(i)

i += 1

这个例子会输出0到4这五个数字,因为当i小于5时,会一直执行打印操作,直到i等于5为止。

if elsifif else 是两种不同的条件判断语句,它们的主要区别在于是否允许同时处理多个条件以及它们的执行顺序。

if elsif
if elsif 语句用于在多个条件中寻找一个满足的条件,然后执行相应的代码块。它可以包含多个 elsif 子句,每个子句都代表一个独立的条件。如果第一个条件不满足,程序将继续尝试下一个 elsif 子句,直到找到一个满足条件的为止。如果所有条件都不满足,那么不会执行任何代码块。

if else
if else 语句用于在两个条件中选择一个满足的条件。你需要指定一个 if 条件和一个 else 条件。如果 if 条件满足,则执行第一个代码块;否则,执行 else 代码块。这个语句通常用来实现单分支的选择结构。

总得来说,if elsif 语句适用于需要在多个可能性之间做出选择的场景,而 if else 语句则是用于二选一决策的情况。在实际应用中,应根据需要选择合适的语句来满足编程需求。

例如,以下是一个简单的if elsif循环示例:

if n > 10:
  print(n)
elsif n < 10:
  print("错误")
elsif n == 10:
  print("错误")

例如,以下是一个简单的if else循环示例:

if n > 10:
  print(n)
else:
  print("错误")

for i in range 是Python中的一种循环语句,它用于遍历一个整数序列。这个序列可以通过 range 函数生成,该函数可以接受1到3个参数,分别表示起始值、终止值和步长。如果只传入一个参数,则默认为stop参数,循环从0开始,步长为1;如果传入两个参数,则第一个参数为start,第二个参数为stop,循环步长为1;如果传入三个参数,则第一个参数为start,第二个参数为stop,第三个参数为step,循环步长为step。

例如,以下代码可以遍历从0到4的整数序列,并输出每个数的平方:

for i in range(5):
print(i2)

if elsifif else 是两种不同的条件判断语句,它们的主要区别在于是否允许同时处理多个条件以及它们的执行顺序。

if elsif
if elsif 语句用于在多个条件中寻找一个满足的条件,然后执行相应的代码块。它可以包含多个 elsif 子句,每个子句都代表一个独立的条件。如果第一个条件不满足,程序将继续尝试下一个 elsif 子句,直到找到一个满足条件的为止。如果所有条件都不满足,那么不会执行任何代码块。

if else
if else 语句用于在两个条件中选择一个满足的条件。你需要指定一个 if 条件和一个 else 条件。如果 if 条件满足,则执行第一个代码块;否则,执行 else 代码块。这个语句通常用来实现单分支的选择结构。

总得来说,if elsif 语句适用于需要在多个可能性之间做出选择的场景,而 if else 语句则是用于二选一决策的情况。在实际应用中,应根据需要选择合适的语句来满足编程需求。

例如,以下是一个简单的if elsif循环示例:

if n > 10:
  print(n)
elsif n < 10:
  print("错误")
elsif n == 10:
  print("错误")

例如,以下是一个简单的if else循环示例:

if n > 10:
  print(n)
else:
  print("错误")

标签:练手,10,else,语句,elsif,条件,print,硕大,剪刀
From: https://blog.csdn.net/2401_82971571/article/details/136918993

相关文章

  • [题解]HDU1024 Max Sum Plus Plus
    HDU1024这道题是一道很巧妙的\(dp\)题(虽然优化成一维,可是究其本质算不算二维\(dp\)?如果有明白的麻烦在评论说一下多谢),在上一篇文章——线性\(dp\)模型中也提到过,因为其前身其实就是上一篇写到的「最大连续子段和」。只不过这一题问的不是一段,而是\(m\)段,所以较上一题我们的选择......
  • 10个超实用的Python模板
    From: https://mp.weixin.qq.com/s/MCQIDYEXsp2v7RRsLaJ4JA-------------------------------------------------------------------------------------以下是10个超实用的Python模板,可以帮助您更快速地开始编写不同类型的代码:1.简单脚本模板:#!/usr/bin/env pythondef main......
  • leetcode106从中序与后序遍历序列构造二叉树
    目录1.解题关键2.思路3.变量名缩写与英文单词对应关系4.算法思路图解5.代码本文针对原链接题解的比较晦涩的地方重新进行说明解释原题解链接:https://leetcode.cn/problems/construct-binary-tree-from-inorder-and-postorder-traversal/solutions/50561/tu-jie-gou-z......
  • Java练手游戏--俄罗斯方块
    Java基础小练手游戏项目:俄罗斯方块简单版使用Java实现俄罗斯方块大概思路:界面设计:使用JavaSwing或JavaFX创建游戏窗口和用户界面。创建一个主窗口类(如GameFrame.java),负责设置窗口大小、标题等属性。设计游戏面板(如GamePanel.java),用于绘制游戏区域、下一个方块预览区、得......
  • 100天精通风控建模(原理+Python实现)——第23天:风控建模中的贝叶斯优化是什么?怎么实现
    在当今风险多变的环境下,风控建模已经成为金融机构、企业等组织的核心工作之一。在各大银行和公司都实际运用于业务,用于营销和风险控制等。本文以视频的形式阐述风控建模中的召回率是什么,怎么实现。并提供风控建模原理和Python实现文章清单。  之前已经阐述了100天精通风......
  • day10,一道竞赛题
    #define_CRT_SECURE_NO_WARNINGS#include<stdio.h>intmain(){ intw,m,n,i,j,k,p,t; scanf("%d%d%d",&w,&m,&n); if(m%w==0) { i=m/w-1;//是w的倍数时层数要减一。 } else { i=m/w; } if(n%w......
  • 10_FreeRTOS任务相关API函数
    FreeRTOS任务相关API函数FreeRTOS任务相关API函数介绍UBaseType_tuxTaskPriorityGet(constTaskHandle_txTask)voidvTaskPrioritySet(TaskHandle_txTask,UBaseType_tuxNewPriority)UBaseType_tuxTaskGetNumberOfTasks(void)uxTaskGetSystemStatevTaskGe......
  • P10111 [GESP202312 七级] 纸牌游戏 题解
    看标签知道要用DP。于是开始分析。状态:$dp(i,j,k)=$前\(i\)轮中,第\(i\)轮出\(j\),一共换了\(k\)次牌的最大钱数。很好理解。转移也不难,不就是不换和换两种吗!所以,转移就是:\[dp(i,j,k)=\max\begin{cases}dp(i-1,j,k)+\operatorname{pk}(j,c_i)\times......
  • 深入了解:二叉树(最详细,约10000字)
    目录1.树概念及结构1.1树概念1.2树的表示2.二叉树概念及结构2.1概念2.2数据结构中的二叉树2.3特殊的二叉树2.4二叉树的存储结构2.4.1顺序存储2.4.2链式存储2.5二叉树的性质3.二叉树顺序结构及概念3.1二叉树的顺序结构3.2堆的概念及结构3.3堆的实现4.二叉树......
  • (Service)服务启动流程分析(Android 10.0)
    (Service)服务启动流程分析,AMS内保活服务(Android10.0)frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.javaframeworks/base/services/core/java/com/android/server/am/ActiveServices.javaframeworks/base/core/java/android/app/Contex......