废话不多说,先看代码:
先说代码出现的问题,如果相似的单词出现在前边或者任意位置,那么括号没有加入到指定的单词上,而是会乱插入,
那么改如何解决此问题,我想要该单词是独一无二的,不被相似单词影响。
import ttkbootstrap as ttk
from ttkbootstrap.constants import *
import re
l_str='('
r_str=')'
hjfj1 = 'beautiful'
hjfj2 = 'a beautiful girl'
ckou0 = ttk.Window(
title='''单词测试''',
size=(500, 500), # 窗口的大小
position=(300, 100), # 窗口位置
resizable=(False, False), # 让窗口不可更改大小
alpha=0.85, # 窗口透明度
#iconphoto=r'res\at.ico'
)
showtag_text1 = ttk.Text(ckou0)
showtag_text1.place(x=0, y=0, width=300,height=50)
def a_hjfj1():# 插入字符
ss = showtag_text1.get('1.0', END)
if hjfj1 not in ss:
showtag_text1.insert('insert', hjfj1)
showtag_text1.insert('insert', ',')
else:
ss1 = showtag_text1.get('1.0', END)
l_over = re.sub(rf'\b{hjfj1},', '', ss1)
showtag_text1.delete('0.0', END)
showtag_text1.insert('insert', l_over.strip())
pass
def hjfj1_add(): # 加括号函数
'''加权重函数'''
try:
hjfj1_bt_text = showtag_text1.get('1.0', END)
l_over = re.sub(rf'\b({hjfj1})\b', f'{l_str}\\1{r_str}', hjfj1_bt_text)
showtag_text1.delete('0.0', END)
showtag_text1.insert('insert', l_over.strip())
except:
pass
def hjfj1_reduce():# 去括号函数
'''减权重函数'''
try:
hjfj1_bt_text = showtag_text1.get('1.0', END)
hjfj1_mix = l_str + hjfj1 + r_str
s = hjfj1_bt_text.index(hjfj1_mix)
l = list(hjfj1_bt_text) # 把字符串拆分为列表,列表里面全部是单个字母的字符
l1 = l
del l1[s]
del l1[s + len(hjfj1_mix) - 2]
ss = len(hjfj1_mix) + 1
l.insert(s + ss, '')
l_over = ''.join(l) # 删改完成列表后重新加入为字符串
l_over.strip()
showtag_text1.delete('0.0', END)
showtag_text1.insert('insert', l_over.strip())
except:
pass
def a_hjfj2():
ss = showtag_text1.get('1.0', END)
if hjfj2 not in ss:
showtag_text1.insert('insert', hjfj2)
showtag_text1.insert('insert', ',')
else:
ss1 = showtag_text1.get('1.0', END)
l_over = re.sub(rf'\b{hjfj2},', '', ss1)
showtag_text1.delete('0.0', END)
showtag_text1.insert('insert', l_over.strip())
pass
def hjfj2_add():
global hjfj2, l_str, r_str
try:
hjfj1_bt_text = showtag_text1.get('1.0', END)
l_over = re.sub(rf'\b({hjfj2})\b', f'{l_str}\\1{r_str}', hjfj1_bt_text)
showtag_text1.delete('0.0', END)
showtag_text1.insert('insert', l_over.strip())
except:
pass
def hjfj2_reduce():
'''减权重函数'''
try:
hjfj1_bt_text = showtag_text1.get('1.0', END)
hjfj1_mix = l_str + hjfj2 + r_str
s = hjfj1_bt_text.index(hjfj1_mix)
l = list(hjfj1_bt_text) # 把字符串拆分为列表,列表里面全部是单个字母的字符
l1 = l
del l1[s]
del l1[s + len(hjfj1_mix) - 2]
ss = len(hjfj1_mix) + 1
l.insert(s + ss, '')
l_over = ''.join(l) # 删改完成列表后重新加入为字符串
l_over.strip()
showtag_text1.delete('0.0', END)
showtag_text1.insert('insert', l_over.strip())
except:
pass
ttk.Button(ckou0, text='美丽的', bootstyle=(WARNING, OUTLINE), command=a_hjfj1).place(x=35, y=105)
ttk.Button(ckou0, text='一个美丽的女孩', bootstyle=(WARNING, OUTLINE), command=a_hjfj2).place(x=35, y=140)
ttk.Button(ckou0, text='+', command=hjfj1_add, width=1.5).place(x=100.5, y=105) # 和按钮相差x85.5坐标
ttk.Button(ckou0, text='-', command=hjfj1_reduce, width=1.5).place(x=0, y=105) # 和按钮相差x15坐标
ckou0.mainloop()
???为什么替换部分你要写成正则?我不记得这么告诉你的啊
那咋写,我懵逼了哈哈,就加括号那一块,比如sky和 bird in sky,括号会同时加sky到词组bird in sky当中的sky,能不能只加sky,就是出现相似的单词括号就会全加上了
其中,为第门课程的受欢迎程度,为参与第门课程学习的人数,和分别为所有课程中参与人数最多和最少的课程所对应的人数。
统计每门课程的参与人数,利用python中value_counts()函数对study_information.csv表中的course_id列进行累计求和,则可以得到每一门课程的人数。根据统计,得到结果如图10(部分数据):
根据统计得到的结果,可以知道课程参与人数最多的是课程76,共有13265人参加该课程,而参加人数最少的课程有课程90、课程91、课程92、课程93皆为1人。由上面的统计结果,取出前十名课程,由excel绘制出柱状图,如下
根据题目中给出的对受欢迎程度的定义式:,以及上面对各种课程数据的统计结果,代入即可求得各门课程的受欢迎程度。
由于给出的参考资料和问题没有直接关联,因此无法给出具体的解决方案。建议重新提供问题和参考资料,以便能够给出准确的解答。