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. IP寻址与规划

    一.IP寻址和子网划分 IP地址的主机部分可被分为三种地址:网络地址.主机地址和定向广播地址. 网络地址是网络号中的第一个地址.它用来将网络内的其他所有网段唯一标识为一个网段或广播域.定向广播地址是网 ...

  2. Unity3D学习笔记6——GPU实例化(1)

    目录 1. 概述 2. 详论 3. 参考 1. 概述 在之前的文章中说到,一种材质对应一次绘制调用的指令.即使是这种情况,两个三维物体使用同一种材质,但它们使用的材质参数不一样,那么最终仍然会造成两次 ...

  3. Django WEB开发 - Django 3.0 Tutorial入门

    1. Django 官方网站 https://docs.djangoproject.com/zh-hans/3.0/intro/tutorial01/ 2. Model View Controller ...

  4. 查询postgresql表结构和索引

    通过系统数据字典查询表结构 selectcol.table_schema,col.table_name,col.ordinal_position,col.column_name,col.data_ty ...

  5. Redis相关练习操作,redis连接池

    package com.shujia.controller; import com.shujia.entity.MyTypedTuple; import com.shujia.entity.User; ...

  6. C语言课堂--现代编译环境搭建[2020年7月]

    看过了很多专家吐槽目前的大学c语言教学问题多多: 教材难懂,消磨了学生的兴趣: 环境老旧,都2020了还有在用VC6甚至TurboC 2.0,语法不规范. 轮到自己上课,心想可不能再继续这样的c语言课 ...

  7. 平衡树——splay 二

    上文传送门:平衡树--splay 一 - yi_fan0305 - 博客园 (cnblogs.com) OK,我们继续上文,来讲一些其他操作. 七.找排名为k的数 和treap的操作很像,都是通过比较 ...

  8. Go语言基础五:引用类型-切片和映射

    切片 Go的数组长度不可以改变,在某些特定的场景中就不太适用了.对于这种情况Go语言提供了一种由数组建立的.更加灵活方便且功能强大的包装(Wapper),也就是切片.与数组相比切片的长度不是固定的,可 ...

  9. 多表查询_练习1&练习2&练习3

    准备表: -- 部门表 CREATE TABLE dept ( id INT PRIMARY KEY PRIMARY KEY, -- 部门id dname VARCHAR(50), -- 部门名称 l ...

  10. LabVIEW图形化的AI视觉开发平台(非NI Vision),大幅降低人工智能开发门槛

    前言 之前每次进行机器学习和模型训练的时候发现想要训练不同模型的时候需要使用不同的框架,有时候费了九牛二虎之力终于写下了几百行代码之后,才发现环境调试不通,运行效率也差强人意,于是自己写了一个基于La ...