Python期中考试程序设计详解-3

一、在程序中预设一个0-9之间的整数,让用户通过键盘输入所猜的数,如果大于预设的数,显示“遗憾,太大了”;小于预设的数,显示“遗憾,太小了”。如此循环,直至猜中该数,显示“预测了N次,你猜中了! ”,其中N是用户输入数字的次数。不使用异常处理。

题目分析:

(1)首先确定一个整数N,然后根据提示用户输入一个数:input()函数实现

(2)利用N与input()函数的值进行比较,只要不相等,就分情况讨论:

(3)如果输入的值不等于预设的值,执行while下面的整个循环体内容。否则直接输出print()语句。

 

二、统计不同字符个数。用户从键盘输入一行字符,编写一个程序,统计并输出其中英文字符、数字、空格和其他字符的个数。

题目分析:

(1)统计字符个数,其实就是计数的一个过程。

(2)对不同类型计数,就需要分类型讨论,数字属于0-9,字母属于a-z,A-Z,空格属于“ ”,

(3)对输入的字符串进行一个一个字母分解,相当于对字符串进行遍历,for c in s格式,(读取字符串中的每一个字符)

 

针对最后输出的格式,也可以进行整合:

三、让计算机在程序中随机产生一个0-100之间的整数,让用户通过键盘输入所猜的数,如果大于预设的数,显示“遗憾,太大了”;小于预设的数,显示“遗憾,太小了”。如此循环,直至猜中该数,显示“预测了N次,你猜中了! ”,其中N是用户输入数字的次数。不使用异常处理。

程序分析:

(1)首先利用随机库函数,随机产生一个整数N=random.randint(0,100),然后根据提示用户输入一个数:input()函数实现

(2)利用N与input()函数的值进行比较,只要不相等,就分情况讨论:

(3)如果输入的值不等于预设的值,执行while下面的整个循环体内容。否则直接输出print()语句。

import random #引入随机库
N=random.randint(0,100) #产生一个0-100的随机整数
a=eval(input("请输入一个整数:")) #对输入的数字进行类型转换
k=1
while a!=N:
  if a>N:  #注意if与while的缩进关系
    print("遗憾,太大了") #注意print与if的缩进关系
  elif a<N:
    print("遗憾,太小了")
  else:
    break
  a=eval(input("请输入一个整数:"))
  k+=1
print("预测{}次,你猜中了!".format(k))

四、从键盘接收两个整数,编写程序求出这两个整数的最大公约数和最小公倍数(提示:求最大公约数可用辗转相除法,求最小公倍数则用两个数的积除以最大公约数即可)

程序分析:

(1)最大公约数可用辗转相除法,求最小公倍数则用两个数的积除以最大公约数

 

 

posted @ 2020-10-31 12:48  Ting_Shi1988  阅读(3274)  评论(0编辑  收藏  举报