老师,请问这种应该怎么改呀?
a=input()
li=[] #建立空列表
for i in range(0,len(a)): #遍历字符串
if i.isalpha():#判断是否是英语字母
ch=a[i].lower #英文字母取小写
if ch not in li :#判断字母是否在列表中
li.append(ch) #将符合新的英文字母追加到列表
for ch in li:
print(ch,end='') #字符连续输出,不空格,不换行
d8fdj92&*DDy
Traceback (most recent call last):
File "C:\Users\ASUS\Desktop\计算机\实践4 批量数据\start\sy4-3.py", line 4, in
if i.isalpha():#判断是否是英语字母
AttributeError: 'int' object has no attribute 'isalpha'
老师,请问这种应该怎么改呀?
a=input()
li=[] #建立空列表
for i in range(0,len(a)): #遍历字符串
if i.isalpha():#判断是否是英语字母
ch=a[i].lower #英文字母取小写
if ch not in li :#判断字母是否在列表中
li.append(ch) #将符合新的英文字母追加到列表
for ch in li:
print(ch,end='') #字符连续输出,不空格,不换行
d8fdj92&*DDy
Traceback (most recent call last):
File "C:\Users\ASUS\Desktop\计算机\实践4 批量数据\start\sy4-3.py", line 4, in <module>
if i.isalpha():#判断是否是英语字母
AttributeError: 'int' object has no attribute 'isalpha'
x=input("请输入一个正整数:")
if x=="quit":
exit(0)
while True:
x=input("请输入一个正整数:")
if x=="quit":
break
else:
L=list(x)
L=[int(i) for i in L]
max=max(L)
sum=sum(L)
if max==sum-max:
print("YES")
else:
print("NO")
x=input("请输入一个正整数:")
if x=="quit":
exit(0)
while True:
x=input("请输入一个正整数:")
if x=="quit":
break
else:
L=list(x)
L=[int(i) for i in L]
max=max(L)
sum=sum(L)
if max==sum-max:
print("YES")
else:
print("NO")
这里我不太明白为什么第一次输入数字没有反应,第二次正常,第三次就报错,请老师或者知道原因的同学指点~
x=input().split(",")
x=[float(j) for j in x]
minf=x[0]
i=1
while i<len(x):
if minf>x[i]:
minf=x[i]
i+=1
print("最小元素=",minf)
break
但是没办法求出最小值是为什么
每次都是第一个数为最小值
x=input().split(",")
x=[float(j) for j in x]
minf=x[0]
i=1
while i<len(x):
if minf>x[i]:
minf=x[i]
i+=1
print("最小元素=",minf)
break
但是没办法求出最小值是为什么
每次都是第一个数为最小值
请问一下出现这个结果是哪里有问题呀?
a=input()
li=[] #建立空列表
for i in range(len(a)): #遍历字符串
if "i".isalpha():#判断是否是英语字母
ch=a[i].lower () #英文字母取小写
if ch not in li :#判断字母是否在列表中
li.append(ch) #将符合新的英文字母追加到列表
for ch in li:
print(ch,end='') #字符连续输出,不空格,不换行
d8fdj92&*DDy
d8fj92&*y
请问一下出现这个结果是哪里有问题呀?
a=input()
li=[] #建立空列表
for i in range(len(a)): #遍历字符串
if "i".isalpha():#判断是否是英语字母
ch=a[i].lower () #英文字母取小写
if ch not in li :#判断字母是否在列表中
li.append(ch) #将符合新的英文字母追加到列表
for ch in li:
print(ch,end='') #字符连续输出,不空格,不换行
d8fdj92&*DDy
d8fj92&*y
1、完成实践4的4.1.1全部,不用提交。
2、完成实践4的4.2全部和4.3.1,按题目要求保存并提交。
以上作业不迟于周六上午9点提交至水杉码园学号仓库的homework08分支下。
水杉码园上的本次作业要求:https://gitea.shuishan.net.cn/Comp-Prog-A.Liuyao.2021Fall.ShengHuan/AllStuRead/issues/11
腾讯工蜂上的本次作业要求:https://git.code.tencent.com/Comp-Prog-A.Liuyao.Shenghuan.2021.Fall/lesson8/issues/1
腾讯工蜂上的本次课程材料(课件及素材等):https://git.code.tencent.com/Comp-Prog-A.Liuyao.Shenghuan.2021.Fall/lesson8/tree/master
老师,请问这种应该怎么改呀?
a=input()
li=[] #建立空列表
for i in range(0,len(a)): #遍历字符串
if i.isalpha():#判断是否是英语字母
ch=a[i].lower #英文字母取小写
if ch not in li :#判断字母是否在列表中
li.append(ch) #将符合新的英文字母追加到列表
for ch in li:
print(ch,end='') #字符连续输出,不空格,不换行
d8fdj92&*DDy
Traceback (most recent call last):
File "C:\Users\ASUS\Desktop\计算机\实践4 批量数据\start\sy4-3.py", line 4, in
if i.isalpha():#判断是否是英语字母
AttributeError: 'int' object has no attribute 'isalpha'
@10214304434 如图所示,for循环用range获取的i是个int类型变量,isalpha()是字符串的一个函数功能需要由a[i]来调用,同时字符串变小写用的是lower()函数。
@10214304428 输出下变量值就知道了,left,right应该是下标位置才对。
x=input("请输入一个正整数:")
L=list(x)
print(L)
max=max(L)
total=0
total=sum(L)
print(total)
老师好,这个打印不出来是因为它默认分割成了字符串构成的列表是吗?那请问怎么转化为数字类型的列表呢?
@10181170140 是的。可以用循环一个个强制转为int,简写如下:
(也可以是
L=[int(i) for i in L]
@10214302421 确实,厉害了。@10181170140 循环可以用L=[int(i) for i in L],更简洁
x=input("请输入一个正整数:")
if x=="quit":
exit(0)
while True:
x=input("请输入一个正整数:")
if x=="quit":
break
else:
L=list(x)
L=[int(i) for i in L]
max=max(L)
sum=sum(L)
if max==sum-max:
print("YES")
else:
print("NO")
这里我不太明白为什么第一次输入数字没有反应,第二次正常,第三次就报错,请老师或者知道原因的同学指点~
@10181170140 报错是因为你变量名用了函数名,像max,sum有这个函数了,变量就别也叫这个名了。至于第一次输入数字没有反应是因为对于第一次输入没有else的内容进行处理,而且前三行其实都不需要,这个while循环逻辑已经包含了多次输入和quit结束的功能了。
x=input().split(",")
x=[float(j) for j in x]
minf=x[0]
i=1
while i<len(x):
if minf>x[i]:
minf=x[i]
i+=1
print("最小元素=",minf)
break
但是没办法求出最小值是为什么
每次都是第一个数为最小值
@10214304428 应该是全部数据遍历完才能输出最小值,而且并不需要加break
老师 while循环不能遍历全部数据吗?
@10214304428 循环能遍历,但你在循环内容的末尾加了break使它只循环了一次就结束了
老师好,这是sy4-4的题,请问为什么说t不在列表y里面呢?
@10214304428 所以要循环结束再print...
@10214302427 没看到你的题目代码。
啊好的,不知道文件为啥没发上来
a=input("请输入一个正整数:")
t=max(a)
y=list(map(int,list(str(a))))
L=y.remove(t)
print(L)
@10214302427 因为t是字符,而y里面的都是整数。而且这题是比较第一个数和其他数字之和,不是最大数和其他数之和
请问一下出现这个结果是哪里有问题呀?
a=input()
li=[] #建立空列表
for i in range(len(a)): #遍历字符串
if "i".isalpha():#判断是否是英语字母
ch=a[i].lower () #英文字母取小写
if ch not in li :#判断字母是否在列表中
li.append(ch) #将符合新的英文字母追加到列表
for ch in li:
print(ch,end='') #字符连续输出,不空格,不换行
d8fdj92&*DDy
d8fj92&*y
@10214302425 判断是否是英语字母这行有问题。应该是判断字符串a的第i号字符是否为字母,而不是去判断字符'i'是否为字母,这个判断结果必为True