
Python的学习-1
变量与字符串.py的学习
print('123')
print("let's go") #字符串双引号成对,双引号中可以包含单引号避免出错
print('"let love i waht "') #单引号出现,包输出包括双引号
print('\"Life is short, Let\'s Lean Python\"') #\\反斜杠(\) ; \' 单引号(') ; \" 双引号(") ; \n 换行 ; \t 制表符 ; \a 响铃(BEL) ; \b 退格符 ; \r 回车符 ; \f 换页符 ; \ooo 八进制数 ; \xhh 十六进制数
print("D:\\three\\two\\one") #原始字符串,\t就相当于手动tab对齐缩进
print("""
跨行字符串
无需\n繁琐结尾
""")
print(" \n\
1 \n\
23 \n\
456 \n\
7890 \n")#若\n后面再加\则未结尾需要写完,\n即为结果
# guess = input("用户输入内容并返回给python,但输入的内容需要判断为数字时需要转义")
import random #导入random模块,random模块包含了很多函数,可以用来生成随机数,随机选择等功能.alt+p是重复上次输入的内容,alt+shift+p是重复上次输入的内容并且在末尾添加一个换行符
save_state = random.getstate() #保存当前的随机数生成器的状态,getstate()函数返回一个对象,包含了当前随机数生成器的状态,可以用来恢复随机数生成器的状态
answer = random.randint(1,10) #生成一个1到10之间的随机整数,randint(a,b)函数返回一个a到b之间的随机整数,包括a和b
random.setstate(save_state) #恢复之前保存的随机数生成器的状态,setstate(state)函数将随机数生成器的状态设置为state,这样就可以恢复之前保存的状态
const = 3
# while const > 0:
# print("const is less than 3")
# const = const - 1 # 循环,当const大于0时,输出const is less than 3,并且每次循环结束后const减1,直到const不大于0时结束循环
while const > 0: #这里以前错了,以前是const < 3导致无法运行。所有内容都必须在while循环,就像刚刚27-31行,不会进行循环
temp = input("请输入一个数字:")
guess = int(temp) #进行提取整数数字,只能输入的是数字才能提取
print("你输入的数字是:", guess) #一般来说,print输出是会直接输出双引号单引号的内容,若没有引号则会直接输出原本形式,若为变量则直接是变量的内容,且需要以英文形式下的逗号隔开
#普通if判断类型:(==)是判断是否相等;(!=)是判断左右两边不相等;(is)是判断左右两边是否是同一个对象,(is not)是判断左右两边是否不是同一个对象
# const = 3
# while const > 0:
# print("const is less than 3")
# const = const - 1 # 循环,当const大于0时,输出const is less than 3,并且每次循环结束后const减1,直到const不大于0时结束循环
# while const < 3:
if guess == answer :
print("yes\njust yes on more things")
break #break必须在此时的作用,用户输入正确就跳出循环,错误就跳出 当guess不等于5时,输出scorry,小了或者大了,并且每次循环结束后const减1,直到const不小于3时结束循环,并且当guess不等于5时,直接跳出循环,不再继续判断guess是否小于5或者大于5
else:
if answer > guess: #输入错误,if缩进下继续,else接着,继续if函数判断
print("scorry,小了")
else:
print("大了")
const = const - 1 #当const小于3时,判断guess是否等于5,若等于5则输出yes,否则判断guess是否小于5,若小于5则输出scorry,小了,否则输出大了,并且每次循环结束后const减1,直到const不小于3时结束循环
#并且,const必须跟else对齐,否则会出现语法错误,python是通过缩进来判断代码块的开始和结束的
#踏马的这里多写了一个break导致无法循环 当guess不等于5时,输出scorry,小了或者大了,并且每次循环结束后const减1,直到const不小于3时结束循环,并且当guess不等于5时,直接跳出循环,不再继续判断guess是否小于5或者大于5
print("user is yes ",answer) #当guess等于5时,输出yes,并且每次循环结束后const减1,直到const不小于3时结束循环,并且当guess等于5时,直接跳出循环,不再继续判断guess是否小于5或者大于5
# 总结,对于上面的情况,获取的为随机数:先getstaet()保存当前的随机数生成器的状态,然后使用randint()生成一个随机整数,最后使用setstate()恢复之前保存的随机数生成器的状态,这样就可以保证每次运行程序时生成的随机数都是相同的,方便调试和测试。、
# 但是,无法利用这种方法在下次获取随机数时得到第一次获取的相同随机数,只能单次重复调用。下面复刻重复随机数,但无法用在上面, 用在上面要os模块的文件操作,保存状态到文件中,下次运行程序时从文件中读取状态并恢复,这样就可以在多次运行程序时得到相同的随机数。

数字类型.py的学习
print(0.1 + 0.2)
print(0.3 == 0.1 + 0.2)
i = 0
while i < 1:
i = i + 0.1
print(i)
import decimal #引入decimal模块
a,b =decimal.Decimal('0.1'),decimal.Decimal('0.2') #使用Decimal类创建Decimal对象
print('换行','\n') #换行
print(a+b) #Decimal对象相加
c = decimal.Decimal('0.3')
print(a+b == c,"\n")
# 数字+E+位数是科学计数法
# 123e4表示123*10的4次方
# 123e-4表示123*10的-4次方
complex_num = 1 + 2j #复数,实部为1,虚部为2
print(complex_num)
print(complex_num.real,'换行\n',complex_num.imag) #获取复数的实部和虚部\
print(-3/2,'换行\n',-3//2) #除法和地板除,除法结果为-1.5,地板除结果为-2,地板除是向下取整的除法
# 其实就是以前学过的[x]方式,往下去整数不超过x本身的最大整数,负数则是往下去整数不超过x本身的最小整数
print(3%2,6%2,7%2,'换行\n') #取余数,余数是除法后剩下的数\
print(divmod(-3,2),'\n') # divmod(a,b)函数返回a除以b的商和余数,结果为一个元组,商为-2,余数为1
#先点出,再用%取余数
print(abs(complex_num),'换行\n') #复数的绝对值,复数的绝对值是实部和虚部的平方和的平方根,结果为2.23606797749979
print(int(-99.321314),'换行\n') # int是直接去掉小数点后面的所有
#float(x)是将整数转换为浮点数
# complex(re,im)是内容转换为复数,re为实部,im为虚部
print(float('1000323'),float(+2e4),'换行\n') #float()中加单引号是将字符串的数字转换为浮点数,float()中加+号是将数字转换为浮点数,不加单引号就是直接将整数或者其他数字类型转换为浮点数
print(complex(-1 - 45j),'换行\n','不加空格的字符串形式也就是双引号里面加\n',complex("23-312j")) #complex()中加单引号是将字符串的数字转换为复数,complex()中加+号是将数字转换为复数,不加单引号就是直接将整数或者其他数字类型转换为复数
print(pow(4,2),'换行\n',2 ** 3,'换行\n',pow(4,2,3),'换行测试\n',4 ** 2 % 3) #pow(x,y)函数返回x的y次幂,pow(x,y,z)会将幂运算的结果对z进行求余的运算
a = eval(input('请输入一个数字:')) #eval()函数将输入的字符串当成有效的表达式来求值,并返回结果
b = eval(input('请输入另一个数字:')) #input()函数用于获取用户输入的字符串,eval()函数将输入的字符串当成有效的表达式来求值,并返回结果
c = eval(input('请输入一个数字:')) #input()函数用于获取用户输入的字符串,eval()函数将输入的字符串当成有效的表达式来求值,并返回结果
d = a+b+c
e = (a+b+c)/3
print(f'你输入的三个数字的和是:{d},平均数是:{e:.2f}',sep='') #f-string格式化字符串,使用花括号{}来引用变量,输出结果为你输入的三个数字的和是:d,平均数是:e
todaydate = input('输入今天的日期,格式为xxxx.xx.xx:')
print(f'今天是{todaydate},我第一次独立写程序啦!',sep=',') #f-string格式化字符串,使用花括号{}来引用变量,输出结果为今天是todaydate,我第一次独立写程序啦!
userbay = input('').split('和') #input()函数用于获取用户输入的字符串,split()方法将输入的字符串按照空格分割成一个列表
float_userbay_1 = float(userbay[0]) #直接用上面split('')进行捕获。split的括号里面跟的就是你要并列的字符,例如我这里是“和”字,那么输入一个数就跟一个“和”字,但不需要空格。如果你输入的数据超过下面变量的内容,那么多出的内容就会没有捕获。它split就相当于把你输入的数据整理成了一个定义在你input前面的变量里面。而且split只能接input用户输入的形式
float_userbay_2 = float(userbay[1]) #将列表中的字符串转换为浮点数
float_userbay_3 = float(userbay[2])
all_userbay = float_userbay_1 + float_userbay_2 + float_userbay_3
print(f'应付{all_userbay:.1f}元') #f-string格式化字符串,使用花括号{}来引用变量,输出结果为应付all_userbay元,保留两位小数
x_str = input('请输入一个数字:').split(',')#input()函数用于获取用户输入的字符串
import decimal #引入decimal模块
x_int_1 = decimal.Decimal(x_str[0])
x_int_2 = decimal.Decimal(x_str[1])
print(f'{x_int_1}*{x_int_2}={x_int_1*x_int_2}') #f-string格式化字符串,使用花括号{}来引用变量,输出结果为x_int_1*x_int_2=x_int_1*x_int_2 '''
song_words = "爱我中华,五十六个星座五十六枝花,五十六族兄弟姐妹是一家,五十六种语言汇成一句话,爱我中华爱我中华爱我中华,爱我中华,健儿奋起的步伐,爱我中华,建设我们的国家,爱我中华,中华雄姿英发,爱我中华,五十六族兄弟姐妹,五十六种语言汇成一句话,爱我中华。"
song_tages = input('请输入要查找的字符串:')
song_tages_count = song_words.count(song_tages) #变量.count(变量)的形式来查找内容,并计算次数
print(f'{song_tages}出现{song_tages_count}次')
user_input_words = input('').lower() #input()函数用于获取用户输入的字符串,lower()方法将输入的字符串转换为小写字母
user_input_words_long = len(user_input_words) #len()函数返回字符串的长度
user_input_words_lower = user_input_words.lower() #lower()方法将字符串转换为小写字母
print(f'{user_input_words_lower[0:5]}') #输出字符串的前6个字符
我是真服了PTA题库的题了

random的模块使用.py的学习
import random
x = random.getstate()
print(random.randint(1,10),
random.randint(1,10),
random.randint(1,10),
random.randint(1,10),
random.randint(1,10),
random.randint(1,10))
random.setstate(x)
print(random.randint(1,10),
random.randint(1,10),
random.randint(1,10),
random.randint(1,10),
random.randint(1,10),
random.randint(1,10))
2026-4-7-4-11作业PTA-Python基础第二章题库
第一题

答案
print("告诉我一件重要的事情:重要的事情说三遍:",sep='')
a = input("")
print(a,'\n',a,'\n',a,sep='') #sep()就是是分隔符,默认是空格,填入'和'字就能用这个字分隔变量第二题

答案
print("人生苦短,我学Python")第三题

答案
a,b,c = 1,2,3
d = a+b+c
e = (a+b+c)/3
print(f'{d},{e:.2f}',sep=',') #f-string格式化字符串,使用花括号{}来引用变量,输出结果为d,e,保留两位小数。很好用第四题

答案
todaydate = input('') #input()函数用于获取用户输入的字符串
print(f"今天是{todaydate},我第一次独立写程序啦!")第五题

答案
input_list = input().split() #input()函数用于获取用户输入的字符串,split()方法将输入的字符串按照空格分割成一个列表
# split就是将input用户输入的内容暂时存入前面的变量中,此时如果split的括号里面跟的就是你要并列的字符
# 例如我这里是空的,加不加单引号都可以。那么输入一个数就跟一个“和”字,但不需要空格。如果你输入的数据超过下面变量的内容
# 那么多出的内容就会没有捕获。它split就相当于把你输入的数据整理成了一个定义在你input前面的变量里面
# 而且split只能接input用户输入的形式
a = float(input_list[0])
b = float(input_list[1])
c = float(input_list[2]) #变量[]中括号接索引位数、索引就是str的利用
total = a + b + c
print(f"应付{total:.1f}元")第六题

答案
x_str, y_str = input().split(',') # 同样的,这里的split是用逗号隔开
# 因此用户输入多个内容的时候。输入一个字符,然后输入逗号,再输入下一个字符,以此类推
x = int(x_str) # int()函数将字符串转换为整数
y = int(y_str) #我认为如果你不转义为int整数的话,像上面那个题一样只用一个变量即可
#就是 x_str = input().split(',')
#这样就够了
result = x * y
print(f"{x}*{y}={result}") #这个就是求和第七题

答案
song_words = "爱我中华,五十六个星座五十六枝花,五十六族兄弟姐妹是一家,五十六种语言汇成一句话,爱我中华爱我中华爱我中华,爱我中华,健儿奋起的步伐,爱我中华,建设我们的国家,爱我中华,中华雄姿英发,爱我中华,五十六族兄弟姐妹,五十六种语言汇成一句话,爱我中华。"
target = input()
count_num = song_words.count(target) #变量.count(变量)的形式来查找内容,并计算次数的。
#target就是用户输入input捕获的内容
print(f"{target}出现{count_num}次。")第八题

答案
user_input_words = input('').lower() #input()函数用于获取用户输入的字符串,lower()方法将输入的字符串转换为小写字母
user_input_words_long = len(user_input_words) #len()函数返回字符串的长度
user_input_words_lower = user_input_words.lower() #lower()方法将字符串转换为小写字母
print(f'{user_input_words_lower[0:5]}') #输出字符串的前6个字符第一次的Pyyhon就这样吧。写的也太长了点
PTA这个平台我觉得不好用,它表达出来的题有问题,描述不清楚我感觉是这样

