一.前言
我上大一时接触到程序设计基础这门课,这门课有时会有实验,我便常常摸鱼,利用CSDN来做,
虽然有时搜不到,但每次搜到时我想:爽!!!
于是我也开始写,写下我们这个时期的答案与青春
二.实验与答案
1、用户输入一个正整数n,找出大于n的最小的素数。
【程序】
n=int(input("请输入一个正整数:"))
a=n
while True:
a=a+1
for i in range(2,a):
if a%i==0:
break
else:
print("最小的素数是:",a)
break
2、用户输入一个小于10的正整数n,请求出1+12+123+1234+…的前n项的和。
[提示]此题肯定要用for语句来做,接下来需要考虑的问题时怎样用数学逻辑表示出1,12,123,1234……这些数。
【测试实例】
【程序】
n=int(input("请输入一个小于10的正整数:"))
if(n>10):
print("输入的正整数超出范围!")
else:
s=0
item=0
for i in range(1,n+1):
item=item*10+i
s=s+item
print(f"前{n}项的和:{s}")
3、不断提示用户输入一个数,然后输出该数的倒数,直至用户输入字符‘end’为止。要求在用户输入0时能提示“0不能做除数,请继续”,程序继续正常运行。【学有余力的同学可以尝试下如何在用户输入非数值(如abc123)时,程序仍能正常运行,输出错误信息后继续请用户输入数,使用异常处理来做】。
【程序】
while True:
s=input("请输入一个数 or end:")
if s=="end":
break
elif eval(s)==0:
print("0不能做除数,请继续")
else:
print(f"{s}的倒数是{1/eval(s)}")
【有余力的同学运用异常处理,程序如下】
while True:
s=input("请输入一个数 or end:")
try:
if s=="end":
break
else:
print(f"{s}的倒数是{1/eval(s)}")
except ZeroDivisionError:
print("输出不能为0,请继续!")
except SyntaxError:
print("数值输出不正确,请继续输入!")