1-1.使用以下方式导入math库后,可以直接使用pi表示圆周率。

from math import *

 

 

正确。当你使用 "from math import *" 导入math库时,你将会导入库中的所有函数和常量。这样做允许你直接使用pi来表示圆周率,而不需要通过math.pi的形式。然而,这种做法可能导致命名空间污染,因为可能会覆盖已经存在的变量或函数。所以,通常推荐使用 "import math" 或者 "from math import pi" 进行导入。

 

 

1-2.调用函数时,函数名后面的括号始终是必需的,即使该方法不带任何参数。

 

 

正确。在Python中,调用函数时,函数名后面的括号始终是必需的,即使该函数不带任何参数。括号表示对函数的调用,如果没有括号,Python会将其视为一个函数对象而不是调用该函数。例如,要调用一个不带参数的函数 my_function,你需要这样写:my_function()。如果你只写 my_function,Python会将其视为一个函数对象,而不是实际调用该函数。

 

 

1-3."12"是整型常量

 

 

错误。"12" 是一个字符串常量,而不是整型常量。在Python中,用双引号(或单引号)括起来的字符序列被视为字符串。整型常量只包含数字字符,例如 12。如果你想将字符串 "12" 转换为整型,可以使用 int() 函数,如 int("12")

 

 

1-4.表达式5//3+6%4的值为3

 

 

正确。在Python中,// 表示整除(向下取整),% 表示取余。表达式 5 // 3 + 6 % 4 的计算顺序如下:

  1. 5 // 3 的值为 1(因为 5 整除 3 的商为 1)
  2. 6 % 4 的值为 2(因为 6 除以 4 的余数为 2)

所以,表达式的值为 1 + 2,即 3。

 

1-5.整数变量x=21,语句“print(‘(:.2f)’.format(x))”输出:21.00。

 

错误。这个语句有一些语法错误。为了获得正确的输出,应该修改为如下格式:

x = 21
print("{:.2f}".format(x)) 

 

这将输出 "21.00"。{:.2f} 是一个格式字符串,其中 .2f 表示将变量格式化为带有两位小数的浮点数。通过调用 format(x),我们将整数变量 x(值为 21)作为参数传递给格式字符串,并将其格式化为 "21.00"。最后,使用 print() 函数输出格式化后的字符串。

 

1-6.print(5+"class")运行后输出 5class

 

错误。在Python中,不能直接将整数和字符串相加。print(5 + "class") 会导致一个 TypeError,因为整数和字符串之间没有定义加法操作。

 

1-7.语句 print("输出结果是{:3.2f}".format(12.345))的输出结果是 012.35

 

错误。语句 print("输出结果是{:3.2f}".format(12.345)) 的输出结果是:

输出结果是12.35 

 

在这里,{:3.2f} 是一个格式字符串,表示将浮点数保留两位小数。.2f 表示浮点数将被保留两位小数,但在这种情况下,没有指定宽度或填充字符。因此,数字 12.345 会被格式化为 12.35,而不是 012.35。如果你想在数字前面补零,可以使用 {:06.2f},这将指定宽度为 6,包括小数点和小数位,且空余位置用 0 填充。例如:

print("输出结果是{:06.2f}".format(12.345)) 

这将输出:

 

输出结果是012.35
 

 

 

1-8.已知 x = 3,那么赋值语句 x = 'abcedfg' 是无法正常执行的。

 

 

错误。在Python中,变量的数据类型是动态的,这意味着一个变量可以在其生命周期内存储不同类型的数据。在这个例子中,变量 x 的初始值是整数 3。然后,你可以用赋值语句 x = 'abcedfg' 将 x 的值更改为字符串 'abcedfg',这是完全合法的。这种动态数据类型的特性使得Python代码具有更高的灵活性。

 

 

1-9.整数变量y=8,语句“print(‘()+8-()’.format(y,y 十 8)”输出:y十8=16

 

 

错误。这个语句有一些语法错误。为了获得正确的输出,应该修改为如下格式:

y = 8
print("{}+8-{}={}".format(y, "y十8", y + 8))

 

 

这将输出 "8+8-y十8=16"。

如果你想要输出 "y十8=16",可以将语句修改为:

y = 8
print("y十8={}".format(y + 8))

 

 

这将输出 "y十8=16"。在这里,我们使用 {} 作为占位符,并通过调用 format() 函数将计算结果作为参数传递给格式字符串。最后,使用 print() 函数输出格式化后的字符串。

 

 

1-10.想获取字符串 str 的长度,用字符串处理函数 str.len()

 

 

错误。要获取字符串 str 的长度,你应该使用 Python 的内置函数 len(),而不是 str.len()。正确的用法是 len(str),例如:

my_string = "Hello, world!"
length = len(my_string)
print(length)

这将输出字符串 "Hello, world!" 的长度,即 13。请注意,len() 函数适用于许多不同类型的序列,例如列表、元组等。

 

 

 

 

 

2-1.八进制35的十进制值是_________。

 

D.29

 

2-2.Python 语句x=’car’; y = 2; print (x+y)的输出结果是____________。

 

A.语法错

 

2-3.如math模块已引入,Python 表达式 math.sqrt(4)*math.sqrt(9)的值为________。

 

D.6.0

 

2-4.Python 语句 print(chr(65))的运行结果是___________。

 

D.A

 

2-5.max((3, 5, 1, 7, 4))的结果是____。

 

D.7

 

2-6.以下哪句打印出smith\exam1\test.txt?

 

B.print("smith\\exam1\\test.txt")

 

2-7.strVal = ‘Hello\nWorld\x00’,则strVal的长度是( )

 

C.12

 

2-8.表达式3+5%6*2//8的值是( )。

 

A.4

 

2-9.Python 语句 print(0xA + 0xB)的输出结果是______________。

 

D.21

 

2-10.下列不可以作为Python合法变量名的是( )

 

B.2a

 

2-11.关于下方代码,说法正确的是:

a=2

b=5

a*b+2

x=2a+1

 

A.第3行代码没有用变量记住运算结果,该语句不起任何作用。

 

2-12.print("hello,world".split(‘o’)的结果是

 

C.['hell', ',w', 'rld']

 

2-13.给出如下代码 s = ‘PyThon is beautiful!’,可以输出’Python’的是

 

C.print(s[0:6].title())

 

2-14.

string ='hello'.upper()

string +=',python'

执行以上代码后,变量 string 的值是

 

C.HELLO,python

 

2-15.表达式:"4"* 5 的结果是

 

C.'44444'

 

 


 7-1进制转换

将十进制整数n()转换成k(2≤k≤16)进制数。注意,10~15分别用字母A、B、C、D、E、F表示。

输入格式:

首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试数据输入两个整数n和k。

输出格式:

对于每组测试,先输出n,然后输出一个空格,最后输出对应的k进制数。

输入样例:

4
5 3
123 16
0 5
-12 2
 
 

输出样例:

5 12
123 7B
0 0
-12 -1100



 

代码示例

def convert_to_base_k(n, k):
    if n == 0:
        return "0"

    digits = "0123456789ABCDEF"
    is_negative = False
    if n < 0:
        is_negative = True
    n = abs(n)

    result = ""

    while n > 0:
        remainder = n % k
        result = digits[remainder] + result
        n = n // k

    if is_negative:
        result = "-" + result

    return result

def main():
    T = int(input())
    test_cases = []
    for _ in range(T):
        n, k = map(int, input().split())
        test_cases.append((n, k))

    for case in test_cases:
        n, k = case
        print(n, convert_to_base_k(n, k))

if __name__ == "__main__":
    main()

 


7-2.编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加、减、乘、除或求余运算。题目输入和输出均不超过整型范围。

 

输入格式:

在一行中依次给出操作数1、运算符、操作数2,其间以空格分隔。操作数的数据类型为整型,且除法和求余的分母非零。

输出格式:

当运算符为+、-、*、/、%时,在一行中输出相应的运算结果。若输入是非法符号(即除了加、减、乘、除和求余五种运算符以外的其他符号)则输出“ERROR”。

输入样例1:

-7  /  2
 

输出样例1:

-3.5
 

输入样例2:

-7  %  2
 

输出样例2:

1
 

输入样例3:

-7  #  2
 

输出样例3:

ERROR
 

代码示例

def calculator(num1, operator, num2):
    if operator == "+":
        return num1 + num2
    elif operator == "-":
        return num1 - num2
    elif operator == "*":
        return num1 * num2
    elif operator == "/":
        if num2 == 0:
            return "ERROR"
        else:
            return num1 / num2
    elif operator == "%":
        if num2 == 0:
            return "ERROR"
        else:
            return num1 % num2
    else:
        return "ERROR"

input_line = input()
num1, operator, num2 = input_line.split()
num1 = int(num1)
num2 = int(num2)

result = calculator(num1, operator, num2)
print(result)

 

 


7-3.统计指定数字之和

 

输入一个数字的字符串和一个数字字符(1到9),统计这个数字在字符串中出现的次数,并累加。例如有个字符串是1234321,查找2这个数字,在字符串中出现了2次,所以累计和就是2+2=4

输入格式:

输入2行。第1行是字符串,第2行是要查找的数字。

输出格式:

指定数字出现的累加和

输入样例:

在这里给出一组输入。例如:

1234321
2
 

输出样例:

在这里给出相应的输出。例如:

4

 

 

代码示例

x=input()
y=input()
num=0
for i in x:
    if i==y:
        num+=int(y)
print(num)

 


7-4 Decorate your name tag

 

Input the name, output the name tag, and decorate both sides with asterisks.

Input Specification:

Input a name.

Output Specification:

Output the name tag, and decorate both sides with asterisks.

Sample Input:

Fiona
 

Sample Output:

*Fiona*

 

 

代码示例

name = input()
print("*" + name + "*")

 

 


7-5.zust-sl0-1显示“你好,名字”

 

编写一个Python语言程序,该程序运行时,输入名字,在屏幕上显示“你好,名字“。

输入格式:

张三

输出格式:

你好,张三

输入样例:

在这里给出一组输入。例如:

张三
 

输出样例:

在这里给出相应的输出。例如:

你好,张三

 

 

代码示例

name=input()
print("你好,"+name)

 

 


7-6. 提取字符串中数字转换为整数

 

本题要求提取一个字符串中的所有数字字符('0'……'9'),将其转换为一个整数输出。

输入格式:

输入在一行中给出一个不超过80个字符且有数字的字符串。

输出格式:

在一行中输出转换后的整数。

输入样例:

abc*ee3b2p6!
 

输出样例:

326

 

 

代码示例

s = input()
num_str = ''
for c in s:
    if c.isdigit():
        num_str += c
print(int(num_str))

 

 


7-7. zust-sl1-2计算两个整数的乘积

输入两个整数,求它们的乘积

输入格式:

输入两个整数a,b。

输出格式:

输出a*b=c,其中a,b是输入的整数,c是a与b的乘积。

输入样例:

在这里给出一组输入。例如:

2 5
 

输出样例:

在这里给出相应的输出。例如:

2*5=10

 

 

示例代码

x,y=input().split()
z=int(x)*int(y)
print(x+"*"+y+"="+str(z))

 

 


7-8 zust-sl3-2求一个正整数是几位数,并逆序打印各位数字

 

从键盘输入一个正整数,求出它是几位数,并逆序输出各位数字。

输入格式:

输入一个正整数。

输出格式:

输出正整数是几位数,并逆序输出各位数字

输入样例1:

在这里给出一组输入。例如:

1234
 

输出样例1:

在这里给出相应的输出。例如:

4
4321
 

输入样例2:

在这里给出一组输入。例如:

130
 

输出样例2:

在这里给出相应的输出。例如:

3
31

 

 

示例代码

num = input()
n = len(num)
print(n)
print(int(num[::-1]))

 

 


7-9.zust-sl4-1根据身份证号输出性别及出生日期

 

输入一个身份证号,输出性别及出生日期。

输入格式:

输入一个二代身份证号(18位)

输出格式:

输出性别及出生日期。

输入样例1:

在这里给出一组输入。例如:

110101200104057856
 

输出样例1:

在这里给出相应的输出。例如:

男
出生于2001年04月05日
 

输入样例2:

在这里给出一组输入。例如:

110108991112289
 

输出样例2:

在这里给出相应的输出。例如:

输入的身份证号位数错

 

 

示例代码

id_card = input()
if len(id_card) != 18:
    print('输入的身份证号位数错')
else:
    gender = int(id_card[16])
    if gender % 2 == 0:
        print('女')
    else:
        print('男')
    birth = id_card[6:14]
    year = birth[0:4]
    month = birth[4:6]
    day = birth[6:8]
    print(f'出生于{year}年{month}月{day}日')

 

 


7-10 zust-sl5-3计算物流公司集装箱优惠率

 

某外贸物流公司规定,在销售旺季7-9月份,如果预定物流公司集装箱20个以上,优惠10%;20个以下,优惠5%;在销售淡季1-6月份和10-12月份,预定20个以上的,优惠20%,20个以下的优惠10%。编写一个能够根据月份和预定的集装箱个数计算优惠率的程序。

输入格式:

输入输入月份month和预定数jzxnum,以空格隔开。

输出格式:

输出优惠率rebate

输入样例:

在这里给出一组输入。例如:

8 30
 

输出样例:

在这里给出相应的输出。例如:

10

 

 

代码示例

month, jzxnum = map(int, input().split())
if month >= 7 and month <= 9:
if jzxnum >= 20:
rebate = 10
else:
rebate = 5
else:
if jzxnum >= 20:
rebate = 20
else:
rebate = 10
print(rebate)

 

 

 


7-11 zust-sy6-3生成x的乘方表

 

输入2个正整数x、n(0≤x、n≤9),输出x的乘方表,即

PTA python作业二答案及解析的值。

输入格式:

输入正整数x、n,空格分隔。

输出格式:

按照幂的递增顺序输出n+1行,每行格式为“pow(x,i) = x的i次幂的值”。

输入样例:

在这里给出一组输入。例如:

2 3
 

输出样例:

在这里给出相应的输出。例如:

pow(2,0) = 1
pow(2,1) = 2
pow(2,2) = 4
pow(2,3) = 8

 

 

代码示例

x, n = map(int, input().split())
for i in range(n + 1):
    print("pow({}, {}) = {}".format(x, i, pow(x, i)))

 

 


7-12 在给定字符串中查找某指定的字符

本题要求编写程序,从给定字符串中查找某指定的字符。

输入格式:

输入的第一行是一个待查找的字符。第二行是一个非空字符串。

输出格式:

如果找到,在一行内按照格式“index= 下标”输出该字符在字符串中所对应的最大下标(下标从0开始);否则输出"Not Found"。

输入样例1:

m
Python programming
 

输出样例1:

index= 14
 

输入样例2:

m
Python123
 

输出样例2:

Not Found

 

 

代码示例

xb=input()
zf=input()
index=0
flag=0
for i in zf:
    index+=1
    if xb==i:
        daan=index-1
        flag=1
if flag==1:
print('index= %d'%daan)
else:
print('Not Found')

 

 

 

 


7-13 找最长的字符串

输入的N个字符串,输出其中最长的字符串。

输入格式:

第一行输入给出正整数N;随后N行,每行输入一个非空字符串,其中不会出现换行符、空格、制表符。

输出格式:

在一行中用以下格式输出最长的字符串:

The longest is: 最长的字符串

如果字符串的长度相同,则输出先输入的字符串。

输入样例:

5
li
wang
zhang
jin
xiang
 
 

输出样例:

The longest is: zhang

 

 

代码示例

n=int(input())
longest=''
for i in range(n):
    s=input()
    if len(s)>len(longest):
        longest =s
print("The longest is:",longest)

 

 


7-14 满足特定模式的词组检索

张老师是一位研究汉语构成的语言学家,他想统计一篇文章中形式如ABB的词组有哪些及它们出现的次数,请编程为他实现此目标。

输入格式:

一行汉字,里面可能包括形式如ABB的词组。如:他不慌不忙地说,大明昨天气冲冲地跑到操场,找到了他的儿子小明。

输出格式:

找到的每个形式如ABB的词组及其出现次数输出时占一行,中间用英文冒号分开,如:气冲冲:1

输入样例:

在这里给出一组输入。例如:

他不慌不忙地说,大明昨天气冲冲地跑到操场,找到了他傻乎乎的儿子小明。
 

输出样例:

在这里给出相应的输出。例如:

气冲冲:1
傻乎乎:1

 

 

代码示例

import re

def is_chinese(char):
    return '\u4e00' <= char <= '\u9fff'

def find_abb(text):
    abb_dict = {}
    for i in range(len(text) - 2):
        if is_chinese(text[i]) and is_chinese(text[i+1]) and is_chinese(text[i+2]) and text[i] != text[i + 1] and text[i + 1] == text[i + 2]:
            abb = text[i:i + 3]
            if abb in abb_dict:
                abb_dict[abb] += 1
            else:
                abb_dict[abb] = 1
    return abb_dict

def main():
    text = input().strip()
    abb_dict = find_abb(text)
    for abb, count in abb_dict.items():
        print(f"{abb}:{count}")

if __name__ == "__main__":
    main()