“Python编程题之流程控制语句”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
(创建页面,内容为“==基本编程题== ===题目1=== 1.获得用户输入的一组数字,采用逗号分隔,输出其中的最大值。 ‪‬‪‬‪‬‪‬‪‬‮‬‫‬…”)
 
基本编程题:答案与解析
 
(未显示同一用户的12个中间版本)
第6行: 第6行:
  
 
*输入:8,3,5,7
 
*输入:8,3,5,7
*输出:9
+
*输出:8
 
===题目2===
 
===题目2===
 
s="9e10"是一个浮点数形式字符串,即包含小数点或采用科学计数法形式表示的字符串,编写程序判断s是否是浮点数形式字符串。如果是则输出True,否则输出False。
 
s="9e10"是一个浮点数形式字符串,即包含小数点或采用科学计数法形式表示的字符串,编写程序判断s是否是浮点数形式字符串。如果是则输出True,否则输出False。
第29行: 第29行:
 
===题目5===
 
===题目5===
 
while True:可以构成一个“死循环”。请编写程序利用这个死循环完成如下功能:循环获得用户输入,直至用户输入字符 y 或 Y 为止,并退出程序。
 
while True:可以构成一个“死循环”。请编写程序利用这个死循环完成如下功能:循环获得用户输入,直至用户输入字符 y 或 Y 为止,并退出程序。
  ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
+
  ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬
 
输入格式
 
输入格式
  
第38行: 第38行:
 
   输出 n 行字符串,最后跳出循环
 
   输出 n 行字符串,最后跳出循环
  
 +
===题目6===
 +
以论语中一句话作为字符串变量 s,补充程序,分别输出字符串 s 中汉字和标点符号的个数。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
  
 +
<nowiki>s = "学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?"
 +
n = 0  # 汉字个数
 +
m = 0  # 标点符号个数
 +
 +
____①____ # 在这里补充代码,可以多行
 +
 +
print("字符数为{},标点符号数为{}。".format(n, m))</nowiki>
 +
 +
===题目7===
 +
使用程序计算整数 N 到整数 N+100 之间所有奇数的数值和,不包含 N+100,并将结果输出。整数 N 由用户给出,代码片段如下,补全代码。不判断输入异常。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
 +
 +
<nowiki>N = input("请输入一个整数: ")
 +
 +
____①____ # 可以是多行代码</nowiki> ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
 +
 +
输入输出示例‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
 +
 +
<nowiki>输入 输出
 +
3 2600</nowiki>
 +
 +
===题目8===
 +
根据斐波那契数列的定义,F(0)=0,F(1)=1, F(n)=F(n–1)+F(n–2)(n≥2),输出不大于 100 的序列元素,提示代码如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
 +
 +
<nowiki>a,b = 0, 1
 +
while ____①____:
 +
    print(a, end = ",")
 +
    a, b = ____②____</nowiki>
 +
 +
===题目9===
 +
以 123 为随机数种子,随机生成 10 个在 1 到 999(含)之间的随机数,以逗号分隔,打印输出,请补充横线处代码。提示代码如下‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
 +
 +
<nowiki>import random
 +
____①____
 +
for i in range(____②____):
 +
    print(____③____, end=",")</nowiki>
 +
 +
===题目10===
 +
(选自测试题5)
 +
编写程序,从键盘上获得用户连续输入且用逗号分隔的若干个数字(不必以逗号结尾),计算所有输入数字的和并输出,给出代码提示如下。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
 +
 +
<nowiki>n = input()
 +
nums = ____①____
 +
s = 0
 +
for i in nums:
 +
    ____②____
 +
print(s)</nowiki>
 +
 +
'''输入输出示例‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬'''
 +
 +
  <nowiki>输入 输出
 +
1,2,3,4    10</nowiki>
 +
 +
===题目11===
 +
(选自测试题5)
 +
 +
编写程序,获得用户输入的数值 M 和 N,求 M 和 N 的最大公约数。提示代码如下。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬
 +
 +
<nowiki>def GreatCommonDivisor(a,b):
 +
    if b > a:
 +
        a,b = b,a
 +
    r = 1
 +
    while r != 0:
 +
        ____①____
 +
        a = b
 +
        b = r
 +
    return a
 +
m = eval(input())
 +
n = eval(input())
 +
print(____②____)</nowiki>
  
 
==基本编程题:答案与解析==
 
==基本编程题:答案与解析==
第49行: 第120行:
 
     b.append(int(i))
 
     b.append(int(i))
 
print(max(b))</nowiki>
 
print(max(b))</nowiki>
 +
 +
代码2:
 +
 +
<nowiki>num_str = input("请输入一组数:")
 +
num = num_str.split(",")
 +
print(num)
 +
max = eval(num[0])
 +
for i in num:
 +
    value = eval(i)
 +
    if value > max:
 +
        max =value
 +
 +
print("最大值",max)</nowiki>
  
 
2.
 
2.
第78行: 第162行:
 
     if s in ["y", "Y"]:
 
     if s in ["y", "Y"]:
 
         break</nowiki>
 
         break</nowiki>
 +
 +
代码2:
 +
 +
<nowiki>while True:
 +
    s = input("请输入数据:")
 +
    print("您输入的是",s)
 +
    if s == 'y' or s == 'Y':
 +
        break;
 +
 +
print("循环结束")</nowiki>
 +
 +
6.
 +
 +
<nowiki>s = "学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?"
 +
n = 0  # 汉字个数
 +
m = 0  # 标点符号个数
 +
m = s.count(',') + s.count('?')
 +
n = len(s) - m
 +
print("字符数为{},标点符号数为{}。".format(n, m))</nowiki>
 +
 +
7.
 +
 +
<nowiki>N = input("请输入一个整数: ")
 +
s = 0
 +
for i in range(eval(N), eval(N)+100):
 +
    if i%2 == 1:
 +
        s += i
 +
print(s)</nowiki>
 +
 +
8.
 +
 +
<nowiki>a, b = 0, 1
 +
while a<=100:
 +
    print(a, end=',')
 +
    a, b = b, a + b</nowiki>
 +
 +
9.
 +
 +
<nowiki>
 +
import random
 +
random.seed(123)
 +
for i in range(10):
 +
  print(random.randint(1,999), end=",")
 +
</nowiki>
 +
 +
10.
 +
 +
11.
 +
</nowiki>

2020年11月28日 (六) 23:26的最新版本

基本编程题

题目1

1.获得用户输入的一组数字,采用逗号分隔,输出其中的最大值。 ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬ ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

输入输出示例

  • 输入:8,3,5,7
  • 输出:8

题目2

s="9e10"是一个浮点数形式字符串,即包含小数点或采用科学计数法形式表示的字符串,编写程序判断s是否是浮点数形式字符串。如果是则输出True,否则输出False。

题目3

s="123"是一个整数形式字符串,编写程序判断 s 是否是整数形式字符串。如果是则输出 True,否则输出 False。要求代码不超过 2 行

题目4

ls 是一个列表,内容如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

ls = [123, "456", 789, "123", 456, "789"]

请补充如下代码,求其各整数元素的和:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

ls = [123, "456", 789, "123", 456, "789"]
s = 0
for item in ls:
    if ___①_  _ == type(123):
        s += ___②_  _
print(s)

题目5

while True:可以构成一个“死循环”。请编写程序利用这个死循环完成如下功能:循环获得用户输入,直至用户输入字符 y 或 Y 为止,并退出程序。

‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬

输入格式

 输入 n 行字符串,最后输入 y 或者 Y‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

输出格式‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

 输出 n 行字符串,最后跳出循环

题目6

以论语中一句话作为字符串变量 s,补充程序,分别输出字符串 s 中汉字和标点符号的个数。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

s = "学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?"
n = 0  # 汉字个数
m = 0  # 标点符号个数

____①____ # 在这里补充代码,可以多行

print("字符数为{},标点符号数为{}。".format(n, m))

题目7

使用程序计算整数 N 到整数 N+100 之间所有奇数的数值和,不包含 N+100,并将结果输出。整数 N 由用户给出,代码片段如下,补全代码。不判断输入异常。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

N = input("请输入一个整数: ")

____①____ # 可以是多行代码 ‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

输入输出示例‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

输入 	输出
3 	2600

题目8

根据斐波那契数列的定义,F(0)=0,F(1)=1, F(n)=F(n–1)+F(n–2)(n≥2),输出不大于 100 的序列元素,提示代码如下:‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

a,b = 0, 1
while ____①____:
    print(a, end = ",")
    a, b = ____②____

题目9

以 123 为随机数种子,随机生成 10 个在 1 到 999(含)之间的随机数,以逗号分隔,打印输出,请补充横线处代码。提示代码如下‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

import random
____①____
for i in range(____②____):
    print(____③____, end=",")

题目10

(选自测试题5) 编写程序,从键盘上获得用户连续输入且用逗号分隔的若干个数字(不必以逗号结尾),计算所有输入数字的和并输出,给出代码提示如下。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

n = input()
nums = ____①____ 
s = 0
for i in nums:
    ____②____
print(s)

输入输出示例‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

 输入 	输出
1,2,3,4     10

题目11

(选自测试题5)

编写程序,获得用户输入的数值 M 和 N,求 M 和 N 的最大公约数。提示代码如下。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

def GreatCommonDivisor(a,b):
    if b > a:
        a,b = b,a
    r = 1
    while r != 0:
        ____①____
        a = b
        b = r
    return a
m = eval(input())
n = eval(input())
print(____②____)

基本编程题:答案与解析

1.参考代码:

data = input()
a = data.split(",")
b = []
for i in a:
    b.append(int(i))
print(max(b))

代码2:

num_str = input("请输入一组数:")
num = num_str.split(",")
print(num)
max = eval(num[0])
for i in num:
    value = eval(i)
    if value > max:
        max =value

print("最大值",max)

2.

s = "9e10"
if type(eval(s)) == type(12.0):
    print("True")
else:
    print("False")

3.

s = "123"
print("True" if type(eval(s)) == type(1) else "False")

4.

ls = [123, "456", 789, "123", 456, "789"]
s = 0
for item in ls:
    if type(item) == type(123):
        s += item
print(s)

5.

while True:
    s = input()
    if s in ["y", "Y"]:
        break

代码2:

while True:
    s = input("请输入数据:")
    print("您输入的是",s)
    if s == 'y' or s == 'Y':
        break;

print("循环结束")

6.

s = "学而时习之,不亦说乎?有朋自远方来,不亦乐乎?人不知而不愠,不亦君子乎?"
n = 0  # 汉字个数
m = 0  # 标点符号个数
m = s.count(',') + s.count('?')
n = len(s) - m
print("字符数为{},标点符号数为{}。".format(n, m))

7.

N = input("请输入一个整数: ")
s = 0
for i in range(eval(N), eval(N)+100):
    if i%2 == 1:
        s += i
print(s)

8.

a, b = 0, 1
while a<=100:
    print(a, end=',')
    a, b = b, a + b

9.

import random
random.seed(123)
for i in range(10):
  print(random.randint(1,999), end=",")

10.

11. </nowiki>