1、(程序设计)定义函数def GetRandomChar(),返回一个随机的数字或大写或小写字母,每个符号出现的机会相等。调用该函数8次,生成并输出一个8位的验证码。用户输入该验证码,如果验证码正确,则显示“欢迎使用本系统”,否则显示“验证码错误,禁止登录”。

import random

def GetRandomChar():
key=random.randint(0,61)
if(key<10):
return str(key)
if(key<=35):
return chr(ord('a')+key-10)
return chr(ord('A')+key-36) key='';
for i in range(8):
key=key+GetRandomChar() print('验证码为:{}'.format(key))
key_input=input('请输入验证码:')
if key_input==key:
print('欢迎使用本系统')
else:
print('验证码错误,禁止登录')

2、(程序设计)定义一个函数def DrawPic(n, char),它的功能是显示由字符char组成的图形,图形上半部分共n行,请参考下图。

def DrawLine(space_num,char_num,char):
print(' '*space_num,char*(char_num*2-1),sep='') def DrawPic(n,char):
for i in range(-n+1,n):
DrawLine(abs(i),n-abs(i),char) n=int(input('请输入一个整数:'))
ch=input('请输入一个字符:') DrawPic(n,ch)

3、(程序设计)一类完全平方数。输入正整数a,b,统计并输出[a,b]内有多少个数满足(1)是完全平方数(2)至少有两个数字相同。要求定义两个个函数:

(1)判断是否是完全平方数的函数 def IsPerfectSquare(n),当n是完全平方数时返回True,否则返回False

(2)判断是否有相同数字的函数 def IsSameDigit(n) ,当n有相同数字时返回True,否则返回False

import math

def IsPerfectSquare(n):
k=int(math.sqrt(n))
if k**2==n:
return True
return False def IsSamDigit(n):
a=[0]*10
while n>0:
x=n%10
n=n//10
if a[x]>0 :
return True
a[x]=a[x]+1
return False l=int(input('请输入整数a:'))
r=int(input('请输入整数b:'))
ans=0
for i in range(l,r+1):
ans=ans+(IsSamDigit(i) and IsPerfectSquare(i))
print('在[{},{}]共有{}个数满足条件'.format(l,r,ans))

4、(程序设计)输入一个字符串,找出该字符串出现次数最多的字符。比如,输入abc12d3ebaa,出现次数最多的字符是a。如果次数最多的有多个字符,输出任意一个即可。注意:不能用max,sort,sorted函数(本题分数:14)

in_str=input('请输入一个字符串:')
ans=[0]*128
for s in in_str:
key=ord(s)
ans[key]=ans[key]+1 id=0
for i in range(1,128):
if ans[i]>ans[id]:
id=i
print('出现次数最多的字符是{}'.format(chr(id)))

5、(程序设计)编写程序,对于输入的字符串,统计每个字符出现的次数,例如输入aabbccc,则输出{'a':2, 'b':2, 'c':3}(假定字符串只包含小写字母),要求使用字典结构完成(本题分数:14)

in_str=input('请输入字符串:')
dict={}
for s in in_str:
if s in dict:
dict[s]=dict[s]+1
else:
dict[s]=1
print(dict)

6、(程序设计)编写程序,判断给定的字符串是否是回文串,回文串的定义:字符串第一个字符跟最后一个字符相等,第二个字符跟倒数第二个相等,依次类推。例如abba是回文串,aba也是。而abc不是回文串。(本题分数:14)

s=input('请输入字符串:')
i=0
j=len(s)-1
while i<j:
if s[i]!=s[j]:
print('{}不是回文串'.format(s))
break
i=i+1
j=j-1
else:
print('{}是回文串'.format(s))

7、(程序设计)输入一个整数n,生成长度为n的列表,将n个随机大写字符放入列表中(本题分数:14)

import random
n=int(input('请输入整数n:'))
list=['']*n
for i in range(n):
list[i]=chr(random.randint(ord('A'),ord('Z')))
print(list)

Python 第四次实验的更多相关文章

  1. 孤荷凌寒自学python第四十六天开始建构自己用起来更顺手一点的Python模块与类尝试第一天

     孤荷凌寒自学python第四十六天开始建构自己用起来更顺手一点的Python模块与类,尝试第一天 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 按上一天的规划,这是根据过去我自学其它编程语 ...

  2. 20145224&20145238 《信息安全系统设计基础》 第四次实验

    20145224&20145238 <信息安全系统设计基础>第四次实验 课程:信息安全系统设计基础 班级:1452 姓名:陈颢文 荆玉茗 学号:20145224 20145238 ...

  3. 20145330《Java程序设计》第四次实验报告

    20145330<Java程序设计>第四次实验报告 实验四 Android环境搭建 实验内容 1.搭建Android环境 2.运行Android 3.修改代码,能输出学号 实验步骤 搭建A ...

  4. 20145320《Java程序设计》第四次实验报告

    20145320<Java程序设计>第四次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.04.26 15: ...

  5. 简学Python第四章__装饰器、迭代器、列表生成式

    Python第四章__装饰器.迭代器 欢迎加入Linux_Python学习群  群号:478616847 目录: 列表生成式 生成器 迭代器 单层装饰器(无参) 多层装饰器(有参) 冒泡算法 代码开发 ...

  6. Python 基础 四 面向对象杂谈

    Python 基础  四  面向对象杂谈 一.isinstance(obj,cls) 与issubcalss(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls ...

  7. 初学Python(四)——set

    初学Python(四)——set 初学Python,主要整理一些学习到的知识点,这次是set. # -*- coding:utf-8 -*- #先来看数组和set的差别 d=[1,1,2,3,4,5] ...

  8. python 函数“四剑客”的使用和介绍

    python函数四剑客:lambda.map.filter和reduce. 一.lambda(匿名函数) 1. 学习lambda要注意一下几点: lambda语句被用来创建新的函数对象,并且在运行的时 ...

  9. 南京邮电大学java第四次实验报告

    实 验 报 告 ( 2017 / 2018学年 第2学期) 课程名称 JAVA语言程序设计 实验名称 Java集成开发环境的安装与使用. Java变量.表达式与控制结构 实验时间 2018 年 6 月 ...

随机推荐

  1. Python收集这些视频只是单纯的想做做壁纸,大家不要误会

    首先澄清一下,我用Python收集这些视频,绝不是想做别的什么,真的只是用来做动态壁纸,大家不要误会!我不是那样的人~ 这样的不过份吧 (这个动图看不看的到就看有没有缘分了 ) 阅读本文你需要准备 1 ...

  2. MYSQL索引的建立、删除以及简单使用

    一.前期数据准备 1.建表 CREATE TABLE `user` ( `uid` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAUL ...

  3. 关于Thymeleaf无法取值问题

    SpringBoot2.7以前的版本在获取model中数据的时候不需要注释,2.7以后的版本需要加注释,它无法直接取存在model中的数据,不加注释的时候会爆红但是可以正常使用,这个注释的含义就是指定 ...

  4. idea 分 环境 配置 线上 测试 本地

    在resources 新建application.properties 分开在resources 新建的多个环境的文件 #测试环境 applicaion-test.properties #开发环境 a ...

  5. (一)java基础篇---第一个程序

    先认识java的基础知识 1.变量命名规则 :1)变量名由数字字母下划线组成,2)不能使用java的关键字,比如public这种,3)遵循小驼峰命名法 2.数据类型 2.1基本数据类型有8种 其中分为 ...

  6. 【Kaggle】如何有效避免OOM(out of memory)和漫长的炼丹过程

    本文介绍一些避免transformers的OOM以及训练等流程太漫长的方法,主要参考了kaggle notebook Optimization approaches for Transformers ...

  7. Ask.com用过什么名字?

    搜索引擎 Ask.com 曾是美国第三,世界第六大公网搜索引擎,仅次于 Google 搜索.Bing 和百度.NAVER.Yandex. Ask.com 曾经用过什么名字? Ask Jetson As ...

  8. 什么是 Base64 ?

    Base64 是什么? Base64是一种二进制到文本的编码方式.如果要更具体一点的话,可以认为它是一种将 byte数组编码为字符串的方法,而且编码出的字符串只包含ASCII基础字符,就是包括小写字母 ...

  9. netdata检测工具的安装与使用

    Netdata 是一款 Linux 性能实时监测工具..以web的可视化方式展示系统及应用程序的实时运行状态(包括cpu.内存.硬盘输入/输出.网络等linux性能的数据). Netdata文档地址: ...

  10. YII模块化处理

    config.php $config = [ 'modules' => [ 'comment' => [ 'class' => 'frontend\modules\comment\C ...