4.4.2 while循环的应用 知识点题库

请编写Python程序,实现如下功能需求:

1)程序运行后,给出文字提示:"请输入一个正整数:"

2)输入一个整数n按回车后,程序输出从1-n所有整数中既是3的倍数又是5的倍数的数。

3)不要超过5行代码。

程序运行举例:

某1年期理财产品实际收益率为4.25%,由于产品一直在持续运作,投资者不按时赎回视为自动再投资。在收益率不变的情况下,至少多少年后投资可以翻倍?
以下程序段中循环体执行的次数是(     )

s = 0

i = 0

Do While s < 10

  i = i + 1

  s = s + i * i

Loop

A . 3 B . 2 C . 1 D . 4
有如下 VB 程序段:

a(1) = 1: a(2) = 1:b(1) = 1: b(2) = 2

For i = 3 To 5

  a(i) = a(i - 1) + a(i - 2)

  b(i) = b(i - 1) + a(i)

Next i

执行该程序段后,数组元素b(5)的值为 (   )

A . 5 B . 8 C . 12 D . 15
以下程序段执行后整型变量n的值为(     )

N=0

For i=1 to 25

   If i mod 5= 0 then n=n+i

Next i

A . 50 B . 15 C . 75 D . 210
完善以下程序代码。

程序描述: 计算正整数 35 到 500之间的所有奇数的和。代码如下:

   ①   

for i in    ②  

        ③   

print(s)

  1. (1) ①处的语句是           
    A . s=0 B . s=1 C . i=0 D . i=1 
  2. (2) ②处的语句是           
    A . range(35,500) B . range(35,500,2)    C . range(35,501) D . range(35,501,2)
  3. (3) ③处的语句是           
    A . s=s+1 B . i=i+1 C . s=s+i D . i=s+i
求1-100的所有数的和。
有如下VB程序段:

For i = 1 To 8

    a(i) = Int(Rnd * 10) * 2 + 1

Next i

For i = 1 To 3

    For j = 1 To 8 - i * 2

        If a(j) > a(j + 2) Then

            t = a(j): a(j) = a(j + 2): a(j + 2) = t

        End If

    Next j

Next i

执行该程序段后,在下列选项中,a(1)~a(8)各元素可能的值是(    )

A . 3,1,8,7,11,13,17,15 B . 3,1,5,7,9,13,15,21 C . 5,3,5,7,9,17,15,19 D . 17,1,13,7,9,13,7,15
某VB程序段如下:

s = "297082"

For i = 1 To 3

    n = Len(s)

    k = 1

    For j = 2 To n

        If Mid(s, k, 1) >= Mid(s, j, 1) Then

            k = j

        Else

            Exit For

        End If

    Next j

    s = Mid(s, 1, k - 1) + Mid(s, k + 1, n - k)

Next i

Label1.Caption = s

执行该程序段后,标签Label1中显示的值是(    )

A . 082 B . 982 C . 972 D . 702
有如下VB程序段:

Dim a(1 to 5) as Integer, i as Integer, c as Integer

a(1) = 2 : a(2) = 1 : a(3) = 3 : a(4) = 4 : a(5) = 5

c = 0

For i = 3 to 5

    If a(i - 2) + a(i - 1) = a(i) Then c = c + 1

Next i

Text1.Text = Str(c)

该程序运行后,文本框text1中显示的内容是(   )

A . 1 B . 2 C . 3 D . 4
有如下VB程序段:

i=1:j=10:k=1:key=Val(Text1.Text)

Do While I < =j

    m=(i+j+1)\2

    If key = a(m) Then

      Exit Do

    Else If key < a(m) Then

        i=m+1:k=k*2

    Else

        j=m-1:k=k/2

    End If

Loop

Text2.Text = Str(k)

数组元素a(1)到a(10)的值依次为“120,97,88,66,50,46,24,20,18,6”,在文本框Text1输入下列选项值,所得的输出结果与其他三项不同的是(    )

A . 96 B . 65 C . 50 D . 22
用VB编写“提取字符串”的程序,实现如下功能:在文本框Text1中输入字符串,单击“提取”按钮Command1,程序将字符串中连续最长的大写字母提取出来,并显示在文本框Text2中。程序运行界面如图所示。

  1. (1) 程序运行时,要使按钮Command1标题显示“提取”,可在Form_Load()事件处理过程中添加语句(单选,填字母:A . Command1 ="提取"/B . Command1.Text="提取"/C . Command1.Caption = "提取")。
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适代码。

    Private Sub Command1_Click()

        Dim s As String, d As Integer, i As Integer

        Dim max As Integer, c As String, ans As String

        s = Text1.Text

        d = 0 : max =0

        For i = 1 To Len(s)

            c = Mid(s, i, 1)

            If c >= "A" And c <= "Z" Then

                d = d + 1

            Else

                If d > max Then

                    ans= Mid(s, i - d, d)

                   

                End If

                d = 0

            End If

        Next i

        Text2.Text=

    End Sub

  3. (3) 若文本框Text1中输入内容为:“Is it JUNE or JULY?”,单击“提取”按钮后,文本框Text2中显示的内容是
阅读程序,写出运行结果

y=30

for i in range(1,4):

   x=int(input(“x=”))

   if y<x:

      y=x

print(y)

程序运行后,依次输入: 36  87  51  运行后输出结果是

某加密算法的加密部分Python程序段如下:

def encrypt(msg,key):

result = ""

size = len(msg)

for i in range(0,size):

    result = result + msg[(i - key) % size]

return result

msg = input("请输入明文:")

key = int(input("请输入密钥:"))

re =              

print(re)

  1. (1) 请在划线处补充代码。
  2. (2) 如果输入的msg为“cdef”,key为3,那么输出的结果为
  3. (3) 这种加密机制称为(选填字母:A .置换密码;B .换位密码;C .简单异或密码)。
有如下Python程序段:

import r andom

s=“olympi cGames”

ans=“”

i=0

while i<=len(s)-2:

    t= int (random. random()*2)+1

    x=s[i]

    y=s[i+t]

    if x>y:

        ans=ans+x

    else:

        ans=ansty

    i=i+t+1

print (ans)

该程序段执行后,显示的内容不可能为:(    )

A . ypiam B . oyim C . oypas D . Yicms
水仙花数是指一个三位数,它的每个位上的数字的3次方之和就等于它本身,例如:1**3+5**3+3**3=153。这类三位数也被叫做自恋数、自幂数或者阿姆斯特朗数。

[问题求解]设这个数存放于变量x中,变量g、s、b分别存放个位、十位、百位上的数。需得分离数字得到每位上的数,即将变量g、s、b表示为x的形式。请阅读如下python程序,在横线处填写适当的表达式或语句,使程序完整。

print ("三位数之内的水仙花是:")

for x in(100,1000):

    b=x//100

    s=(x//10)

    g=

    If x=(b**3 +s**3+g**3):

        print(

运行如下程序,输入文字“小秘密小甜蜜”,输出结果为(    )

sentence=input('请输入一段文字:')

for i in sentence:

  if i=='密':

    continue

print(i,end='')

A . B . C . 小 秘 小 甜 D . 小 秘 小 甜 蜜
有VB程序段如下:

Dim a(1 To 26) As Integer

s= "2020 Artificial Intelligence!” : n=0

For i=1 To Len(s)

    ch= Mid(s, I, 1)

    If ch>= "a" And ch <= "z" Then

        m = Asc(ch) - Asc("a") + 1

        a(m)=a(m)+1

    End If

Next i

For i=1 To 10

    If a(i)>1 Then n=n+1

Next i

已知数组a各元素的初始值都为0,执行该程序段后,变量n的值为(     )

A . 2 B . 3 C . 6 D . 10
有如下python程序段:

from random import randint

n=input("请输入一串数字:")

k=randint(0,len(n))       #randint用于随机生成[0,len(n)]之间的整数

for i in range(k):

    for j in range(len(n)-1):

        if n[j]>n[j+1]:

            break

    else:

        n=n[:len(n)-1]

        continue      #continue跳过当前循环的剩余语句,直接进行下一轮循环

    n=n[:j]+n[j+1:]

执行该程序段后,输入“1529”,则变量n可能是(     )

A . "9" B . "12" C . "152" D . "1259"
用python编辑器打开“Y:\108”下的文件“猜数.PY”,进行以下操作并保存结果。

①请填空完善该程序,实现功能:随机产生一个0-99内的整数,在给定的次数内进行猜数,如果猜的数大了,提示“大了”,如果猜的数小了,提示“小了”。如果猜对了,提示“恭喜你答对了”,并给出猜的次数。如果在给出猜测的次数内没有猜对,提示“机会用完了,再来一次”。

②编写完成后,原名保存并关闭应用软件。

# 程序初始化,并随机产生一个0-99的整数作为秘密数,

Import # 导入随机数模块

import math

secret=random.randint(0,99)

guess=0   

tries =  # 尝试次数赋初值

#给定猜测次数n

n=6

# 打招呼

print('嗨,你好!今天我们来玩一个猜数游戏。')

print('这个数字在0-99之间,我给你6次机会。')

#得到玩家猜的数,并判断大小,最多允许n次

while tries<n and guess!=secret:

     # 尝试次数加1

    guess = int(input("请输入你猜的数:"))

    if guess > secret:

        print("大了")

    elif guess < secret:

       print("小了")

    else:

        print("恭喜你,答对了!猜了", , "次,")

#如果给出猜测的次数内没有猜对,则提示机会用完了,再来一次。

if tries == n and guess != :

print("机会用完了,再来一次!")

最近更新