from collections import Counter
import re
f = open('罗密欧与朱丽叶(英文版)莎士比亚.txt',"r")
txt = f.read()
txt = re.compile(r'\W+').split(txt.lower())
# 统计所有词出现的次数
splits = Counter(name for name in txt)
# 输出出现次数排名前20的单词
top_n = sorted(splits.items(), key=lambda pair:pair[0], reverse=False)
top_n = sorted(top_n, key=lambda pair:pair[1], reverse=True)
for i in range
print(top_n[:20])
[('and', 720), ('the', 681), ('i', 658), ('to', 577), ('a', 470), ('of', 401), ('my', 361), ('that', 355), ('is', 349), ('in', 320), ('you', 295), ('s', 293), ('thou', 278), ('me', 265), ('not', 260), ('with', 255), ('d', 236), ('it', 228), ('this', 226), ('for', 225)]
# 输出romeo和juliet出现的次数
print("罗密欧出现了: ",splits["romeo"]," 次")
print("朱丽叶出现了: ",splits["juliet"]," 次")
罗密欧出现了: 156 次
朱丽叶出现了: 66 次
1.计算1+2+...+10
import tensorflow as tf
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
value = tf.Variable(0,name="value")
sum0 = tf.Variable(0,name="sum")
one = tf.constant(1)
add0 = tf.add(sum0,value) #sum加上这个数
update_value_sum = tf.assign(sum0,add0) #将sum赋值
new_value = tf.add(value,one) #value值+1
update_value = tf.assign(value,new_value) #将value赋值
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
for _ in range(10):
sess.run(update_value)
sess.run(update_value_sum)
print("1+2+...+10 =",sess.run(sum0))
1+2+...+10 = 55
2.计算1+2+...+n
(1)对输入的n使用占位符
import tensorflow as tf
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "-1"
import numpy as np
a = int(input("请输入一个整数:"))
value = tf.Variable(0,name="value")
sum0 = tf.Variable(0,name="sum")
one = tf.constant(1)
add0 = tf.add(sum0,value)
update_value_sum = tf.assign(sum0,add0)
new_value = tf.add(value,one)
update_value = tf.assign(value,new_value)
n = tf.placeholder(tf.int32)
toInt = tf.add(0,n)
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
for _ in range(sess.run(toInt,feed_dict={n:a})):
sess.run(update_value)
sess.run(update_value_sum)
print("1+2+...+ %d = %d" % (a,sess.run(sum0)))
请输入一个整数:100
1+2+...+ 100 = 5050
(2)对中间变量使用占位符
import tensorflow as tf
n = int(input("请输入一个整数:"))
value = tf.Variable(0,name="value")
one = tf.constant(1)
temp = tf.placeholder(tf.int32, name="temp")
result = tf.Variable(0,name="value")
new_value = tf.add(value,one)
update_value = tf.assign(value,new_value)
new_result = tf.add(result,temp)
update_result = tf.assign(result,new_result)
init = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init)
for _ in range(n):
sum0 = sess.run(update_result, feed_dict={temp:sess.run(update_value)})
print("1+2+...+ %d = %d" % (n,sum0))
请输入一个整数:101
1+2+...+ 101 = 5151
3.模拟矩阵运算 [[1.0, 2.0], [3.0, 4.0]] + [[5, 6], [7, 8]] * 9 – 10E
import tensorflow as tf
a = tf.Variable([[1.0, 2.0], [3.0, 4.0]], dtype=tf.float32)
b = tf.Variable([[5.0, 6.0], [7.0, 8.0]], dtype=tf.float32)
e = tf.eye(2) # 二阶单位阵
result = a+b*9-10*e
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print("最终结果是:\n",sess.run(result))
最终结果是:
[[36. 56.]
[66. 66.]]
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Tensorflow暑期实践——作业1(python字数统计,Tensorflow计算1到n的和) - Python技术站