胖胖的小阿涵 发表于 2021-1-11 19:54:29

下面那部分没看明白

import easygui as g

msg = "请填写以下联系方式"
title = "账号中心"
fieldNames = [" *用户名", " *真实姓名", "固定电话", " *手机号码", "QQ", " *E-mail"]
fieldValues = []
fieldValues = g.multenterbox(msg, title, fieldNames)

while 1:
if fieldValues == None:
      break
    errmsg = ""
    for i in range(len(fieldNames)):
      option = fieldNames.strip()
      if fieldValues.strip() == "" and option == "*":
            errmsg += ('【%s】为必填项。\n\n' % fieldNames)
    if errmsg == "":
      break
    fieldValues = g.multenterbox(errmsg, title, fieldNames, fieldValues)

print("用户资料如下:%s" % str(fieldValues))
//
if fieldValues == None:
      break
    errmsg = ""

for i in range(len(fieldNames)):
      option = fieldNames.strip()
      if fieldValues.strip() == "" and option == "*":
            errmsg += ('【%s】为必填项。\n\n' % fieldNames)
这两部分没看懂

昨非 发表于 2021-1-12 11:58:21

import easygui as g

msg = "请填写以下联系方式"
title = "账号中心"
fieldNames = [" *用户名", " *真实姓名", "固定电话", " *手机号码", "QQ", " *E-mail"]
fieldValues = []
fieldValues = g.multenterbox(msg, title, fieldNames)
    #多个输入框,fieldValues是用于存储用户输入所返回的字符串的列表

while 1:
    if fieldValues == None:#未填入
      break
    errmsg = ""#打印的提示项 (每次while循环置空并重新添加)
    for i in range(len(fieldNames)):#遍历各个输入框
      option = fieldNames.strip()#获取每个输入框的名字
      if fieldValues.strip() == "" and option == "*":#获取每个输入框的返回内容,当填入内容为空 且 输入框名字带有*时:
            errmsg += ('【%s】为必填项。\n\n' % fieldNames) #说明该项输入不满足要求,需要加到提示项里

    #for循环执行完后,说明各个输入框都处理过了,继续下面的判断处理      
    if errmsg == "": #填写没问题时
      break
    fieldValues =g.multenterbox(errmsg, title, fieldNames, fieldValues)#填写有问题时->带有提示项的多输入框,同样,将输入内容返回给fieldValues
    print(errmsg) #这里加一行,当单次输入带*的框少填时,在下次errmsg置空前打印出来就能看到

print("用户资料如下:%s" % str(fieldValues))
print(errmsg)

胖胖的小阿涵 发表于 2021-1-12 21:18:27

if fieldValues == None:#未填入
      break
这里有什么用
option == "*"
这里没看懂并且加strip()有什么用

昨非 发表于 2021-1-13 22:19:47

1、填写为空时,break,然后就会遍历上面每一个输入框的内容,加入提示(errmsg)中并在下一个多输入框中显示出来

2、第15行,option为每个输入框的名字,相当于字符串索引,取第一个字符,根据是不是*来判断是否提示

3、Python strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

建议先看看题目要求和注释再提问

最后,下次回复记得点别人帖子左下角回复键,不然别人这里不会有提示,这是你的帖子,你在下面开一条新评论,别人不会收到提醒,
必须回复才能收到

胖胖的小阿涵 发表于 2021-1-18 20:09:24

昨非 发表于 2021-1-13 22:19
1、填写为空时,break,然后就会遍历上面每一个输入框的内容,加入提示(errmsg)中并在下一个多输入框中显 ...

好的好的

昨非 发表于 2021-1-18 20:11:26

胖胖的小阿涵 发表于 2021-1-18 20:09
好的好的

其实小甲鱼的好多课后题第一次看都比较吃力的
大可缓缓以后慢慢研究,先往后听课呗
页: [1]
查看完整版本: 下面那部分没看明白